package ezviz.ezopensdkcommon.configwifi; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.ezviz.sdk.configwifi.WiFiUtils; import com.ezviz.sdk.configwifi.ap.ConnectionDetector; import com.hikvision.wifi.configuration.BaseUtil; import ezviz.ezopensdkcommon.R; import ezviz.ezopensdkcommon.common.IntentConstants; import ezviz.ezopensdkcommon.common.RootActivity; import ezviz.ezopensdkcommon.common.TitleBar; public class AutoWifiNetConfigActivity extends RootActivity { public static final String WIFI_PASSWORD = "wifi_password"; public static final String WIFI_SSID = "wifi_ssid"; public static final String DEVICE_TYPE = "device_type"; private Button btnNext; private TextView tvSSID; private EditText edtPassword; private TextView tvTitle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.auto_wifi_net_config); initTitleBar(); findViews(); initUI(); setListener(); } private void initTitleBar() { TitleBar mTitleBar = findViewById(R.id.title_bar); tvTitle = mTitleBar.setTitle(R.string.auto_wifi_cer_config_title1); mTitleBar.addBackButton(new OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); } private void showWifiRequiredDialog() { new AlertDialog.Builder(this).setTitle(R.string.auto_wifi_dialog_title_wifi_required) .setMessage(R.string.please_open_wifi_network) .setNegativeButton(R.string.auto_wifi_dialog_btn_wifi, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int arg1) { dialog.dismiss(); // 跳转wifi设置界面 startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS)); } }).setPositiveButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); onBackPressed(); } }).setCancelable(false).create().show(); } @Override protected void onResume() { super.onResume(); if (ConnectionDetector.getConnectionType(this) != ConnectionDetector.WIFI) { tvSSID.setText(R.string.unknow_ssid); showWifiRequiredDialog(); } else { updateWifiInfo(); } } private void updateWifiInfo(){ // 优先使用getCurrentWifiSsid方法获取wifi名 String wifiName = WiFiUtils.getCurrentWifiSsid(this); // 如上述方式无效,则使用getWifiSSID方法进行获取 if (!isValidWifiSSID(wifiName)){ wifiName = BaseUtil.getWifiSSID(this); } if (isValidWifiSSID(wifiName)){ tvSSID.setText(wifiName); } } private boolean isValidWifiSSID(String wifiName){ return !TextUtils.isEmpty(wifiName) && !"".equalsIgnoreCase(wifiName); } private void findViews() { btnNext = findViewById(R.id.btnNext); tvSSID = findViewById(R.id.tvSSID); edtPassword = findViewById(R.id.edtPassword); } private void initUI() { tvTitle.setText(R.string.auto_wifi_cer_config_title2); String password = ""; edtPassword.setText(password); } private void setListener() { btnNext.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { goToChooseConfigWifiWay(); } }); } private void goToChooseConfigWifiWay(){ Intent toConfigIntent = new Intent(mContext, ManualChooseConfigWifiWayActivity.class); toConfigIntent.putExtras(getIntent()); toConfigIntent.putExtra(IntentConstants.ROUTER_WIFI_SSID, tvSSID.getText().toString()); toConfigIntent.putExtra(IntentConstants.ROUTER_WIFI_PASSWORD, TextUtils.isEmpty(edtPassword.getText().toString()) ? "smile" : edtPassword.getText().toString()); startActivity(toConfigIntent); } }