List of usage examples for android.net.wifi WifiManager setWifiEnabled
public boolean setWifiEnabled(boolean enabled)
From source file:com.sentaroh.android.TaskAutomation.TaskExecutor.java
final static public void setWifiOff(TaskManagerParms taskMgrParms, EnvironmentParms envParms, CommonUtilities util, TaskResponse task_response, ActionResponse ar) { WifiManager wm = (WifiManager) taskMgrParms.context.getSystemService(Context.WIFI_SERVICE); int ws = -1;//from w w w .j a v a 2 s .co m if (wm != null) ws = wm.getWifiState(); if (envParms.settingDebugLevel >= 1) util.addDebugMsg(1, "I", "setWifiOff WIFI Off entered, wifiIsActive=" + envParms.wifiIsActive + ", wifiMgrStatus=" + ws); if (envParms.wifiIsActive) { if (wm != null) { wm.setWifiEnabled(false); ar.action_resp = ActionResponse.ACTION_SUCCESS; ar.resp_msg_text = "setWifiOff WIFI Off Success"; } else { if (envParms.settingDebugLevel >= 1) util.addDebugMsg(1, "I", "setWifiOff WifiManager not available, WIFI Off ignored"); ar.action_resp = ActionResponse.ACTION_WARNING; ar.resp_msg_text = "setWifiOff WIFI not available"; } } else { ar.action_resp = ActionResponse.ACTION_WARNING; ar.resp_msg_text = "setWifiOff WIFI already off"; } }
From source file:com.sentaroh.android.TaskAutomation.TaskExecutor.java
final static public void setWifiOn(TaskManagerParms taskMgrParms, EnvironmentParms envParms, CommonUtilities util, TaskResponse task_response, ActionResponse ar) { WifiManager wm = (WifiManager) taskMgrParms.context.getSystemService(Context.WIFI_SERVICE); int ws = -1;//from ww w. j a v a 2 s .c o m if (wm != null) ws = wm.getWifiState(); if (envParms.settingDebugLevel >= 1) util.addDebugMsg(1, "I", "setWifiOn WIFI On entered, wifiIsActive=" + envParms.wifiIsActive + ", wifiMgrStatus=" + ws); if (!envParms.wifiIsActive) { if (wm != null) { if (wm.setWifiEnabled(true)) { ar.action_resp = ActionResponse.ACTION_SUCCESS; ar.resp_msg_text = "setWifiOn WIFI On Success"; } else { if (envParms.settingDebugLevel >= 1) util.addDebugMsg(1, "I", "setWifiOn WifiManager error, WIFI On ignored"); ar.action_resp = ActionResponse.ACTION_WARNING; ar.resp_msg_text = "setWifiOn WifiManager error"; } } else { if (envParms.settingDebugLevel >= 1) util.addDebugMsg(1, "I", "setWifiOn WifiManager not available, WIFI On ignored"); ar.action_resp = ActionResponse.ACTION_WARNING; ar.resp_msg_text = "setWifiOn WIFI not available"; } } else { ar.action_resp = ActionResponse.ACTION_WARNING; ar.resp_msg_text = "setWifiOn WIFI already on"; } }
From source file:com.android.launcher3.Utilities.java
public static void turnOnWifi(Activity activity) { WifiManager wifimanager = (WifiManager) activity.getApplicationContext() .getSystemService(Context.WIFI_SERVICE); wifimanager.setWifiEnabled(true); isWifiOn = true;/*from w w w . ja v a 2 s . c o m*/ }
From source file:com.android.launcher3.Utilities.java
public static void turnOffWifi(Activity activity) { WifiManager wifimanager = (WifiManager) activity.getApplicationContext() .getSystemService(Context.WIFI_SERVICE); wifimanager.setWifiEnabled(false); isWifiOn = false;//from ww w . ja v a2 s . c o m }
From source file:org.geometerplus.fbreader.plugin.local_opds_scanner.ScanLocalNetworkActivity.java
@Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.scan_local_network); setListAdapter(new ItemAdapter()); setTitle(R.string.scan_local_network_window_title); final View buttonView = findViewById(R.id.scan_local_network_buttons); final Button cancelButton = (Button) buttonView.findViewById(R.id.cancel_button); cancelButton.setText(R.string.button_cancel); cancelButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { finish();/*from w w w .jav a 2 s .co m*/ } }); final WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); final int state = wifiManager.getWifiState(); if (state != WifiManager.WIFI_STATE_ENABLED && state != WifiManager.WIFI_STATE_ENABLING) { setTitle(R.string.wifi_is_turned_off); final View listView = findViewById(android.R.id.list); final TextView errorView = (TextView) findViewById(R.id.scan_local_network_error); listView.setVisibility(View.GONE); errorView.setVisibility(View.VISIBLE); errorView.setText(R.string.turn_wifi_on); final Button turnOnButton = (Button) buttonView.findViewById(R.id.ok_button); turnOnButton.setText(R.string.button_turn_on); turnOnButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { wifiManager.setWifiEnabled(true); finish(); } }); myLock = null; } else { final Button rescanButton = (Button) buttonView.findViewById(R.id.ok_button); rescanButton.setText(R.string.button_rescan); rescanButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { runOnUiThread(new Runnable() { public void run() { clear(); scan(); } }); } }); myLock = wifiManager.createMulticastLock("FBReader_lock"); myLock.setReferenceCounted(true); myLock.acquire(); scan(); } }
From source file:de.j4velin.wifiAutoOff.Preferences.java
@SuppressWarnings("deprecation") @Override// w w w .j a v a2 s . com public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); if (BuildConfig.DEBUG && PermissionChecker.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PermissionChecker.PERMISSION_GRANTED) { requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0); } status = (StatusPreference) findPreference("status"); status.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); boolean connected = ((ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE)) .getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected(); if (wm.isWifiEnabled() && !connected) { try { startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } catch (Exception e) { Toast.makeText(Preferences.this, R.string.settings_not_found_, Toast.LENGTH_SHORT).show(); } } else if (!wm.isWifiEnabled()) { wm.setWifiEnabled(true); } else { try { startActivity( new Intent(Settings.ACTION_WIFI_SETTINGS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } catch (Exception e) { Toast.makeText(Preferences.this, R.string.settings_not_found_, Toast.LENGTH_SHORT).show(); } } return true; } }); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); final CheckBoxPreference screen_off = (CheckBoxPreference) findPreference("off_screen_off"); screen_off.setSummary( getString(R.string.for_at_least, prefs.getInt("screen_off_timeout", Receiver.TIMEOUT_SCREEN_OFF))); if (!keepWiFiOn(this)) { screen_off.setChecked(false); } screen_off.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((Boolean) newValue) { if (!keepWiFiOn(Preferences.this)) { new AlertDialog.Builder(Preferences.this).setMessage(R.string.sleep_policy) .setPositiveButton(R.string.adv_wifi_settings, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { startActivity(new Intent(Settings.ACTION_WIFI_IP_SETTINGS) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } catch (Exception e) { Toast.makeText(Preferences.this, R.string.settings_not_found_, Toast.LENGTH_SHORT).show(); } } }).setNegativeButton(android.R.string.cancel, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).create().show(); return false; } if (android.os.Build.VERSION.SDK_INT >= 11) { APILevel11Wrapper.showNumberPicker(Preferences.this, prefs, screen_off, R.string.for_at_least, 1, 60, getString(R.string.minutes_before_turning_off_wifi_), "screen_off_timeout", Receiver.TIMEOUT_SCREEN_OFF, false); } else { showPre11NumberPicker(Preferences.this, prefs, screen_off, R.string.for_at_least, 1, 60, getString(R.string.minutes_before_turning_off_wifi_), "screen_off_timeout", Receiver.TIMEOUT_SCREEN_OFF, false); } } return true; } }); findPreference("off_no_network").setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((Boolean) newValue) { if (android.os.Build.VERSION.SDK_INT >= 11) { APILevel11Wrapper.showNumberPicker(Preferences.this, prefs, preference, R.string.for_at_least, 1, 60, getString(R.string.minutes_before_turning_off_wifi_), "no_network_timeout", Receiver.TIMEOUT_NO_NETWORK, false); } else { showPre11NumberPicker(Preferences.this, prefs, preference, R.string.for_at_least, 1, 60, getString(R.string.minutes_before_turning_off_wifi_), "no_network_timeout", Receiver.TIMEOUT_NO_NETWORK, false); } } return true; } }); final CheckBoxPreference on_at = (CheckBoxPreference) findPreference("on_at"); on_at.setTitle(getString(R.string.at_summary, prefs.getString("on_at_time", Receiver.ON_AT_TIME))); on_at.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((Boolean) newValue) { String[] time = prefs.getString("on_at_time", Receiver.ON_AT_TIME).split(":"); final TimePickerDialog dialog = new TimePickerDialog(Preferences.this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { prefs.edit().putString("on_at_time", hourOfDay + ":" + (minute < 10 ? "0" + minute : minute)).commit(); on_at.setTitle(getString(R.string.at_summary, hourOfDay + ":" + (minute < 10 ? "0" + minute : minute))); } }, Integer.parseInt(time[0]), Integer.parseInt(time[1]), true); dialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { on_at.setChecked(false); } }); dialog.setTitle(getString(R.string.turn_wifi_on_at_)); dialog.show(); } return true; } }); final CheckBoxPreference off_at = (CheckBoxPreference) findPreference("off_at"); off_at.setTitle(getString(R.string.at_summary, prefs.getString("off_at_time", Receiver.OFF_AT_TIME))); off_at.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((Boolean) newValue) { String[] time = prefs.getString("off_at_time", Receiver.OFF_AT_TIME).split(":"); final TimePickerDialog dialog = new TimePickerDialog(Preferences.this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { prefs.edit().putString("off_at_time", hourOfDay + ":" + (minute < 10 ? "0" + minute : minute)).commit(); off_at.setTitle(getString(R.string.at_summary, hourOfDay + ":" + (minute < 10 ? "0" + minute : minute))); } }, Integer.parseInt(time[0]), Integer.parseInt(time[1]), true); dialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { off_at.setChecked(false); } }); dialog.setTitle(getString(R.string.turn_wifi_off_at_)); dialog.show(); } return true; } }); final Preference on_every = findPreference("on_every"); final String[] time_names = getResources().getStringArray(R.array.time_names); // default 2 hours on_every.setTitle(getString(R.string.every_summary, prefs.getString("on_every_str", time_names[4]))); on_every.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((Boolean) newValue) { AlertDialog.Builder builder = new AlertDialog.Builder(Preferences.this); builder.setTitle(R.string.turn_wifi_on_every).setItems(time_names, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { prefs.edit().putInt("on_every_time_min", time_values[which]) .putString("on_every_str", time_names[which]).commit(); on_every.setTitle(getString(R.string.every_summary, time_names[which])); } }); builder.create().show(); } return true; } }); Preference locations = findPreference("locations"); if (BuildConfig.FLAVOR.equals("play")) { if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION_NETWORK)) { locations.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { startActivity(new Intent(Preferences.this, Locations.class)); return true; } }); } else { locations.setEnabled(false); } } else { locations.setSummary("Not available in F-Droid version"); locations.setEnabled(false); } final Preference power = findPreference("power_connected"); power.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { if ((boolean) newValue) { Intent battery = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); if (battery != null && battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) > 0) { // already connected to external power prefs.edit().putBoolean("ignore_screen_off", true).commit(); } } else { prefs.edit().putBoolean("ignore_screen_off", false).commit(); } return true; } }); }
From source file:com.moez.QKSMS.mmssms.Transaction.java
/** * @deprecated/*from w w w . j av a 2 s .com*/ */ private void reinstateWifi() { try { context.unregisterReceiver(settings.discon); } catch (Exception f) { } WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(false); wifi.setWifiEnabled(settings.currentWifiState); wifi.reconnect(); Utils.setMobileDataEnabled(context, settings.currentDataState); }
From source file:com.lofland.housebot.BotController.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.housebot);/*w w w . j a va 2s . co m*/ Log.d(TAG, "onCreate"); /* * TODO: If you need to maintain and pass around context: * http://stackoverflow.com/questions/987072/using-application-context-everywhere */ // Display start up toast: // http://developer.android.com/guide/topics/ui/notifiers/toasts.html Context context = getApplicationContext(); CharSequence text = "ex Nehilo!"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); // Display said toast toast.show(); /* * Turn on WiFi if it is off * http://stackoverflow.com/questions/8863509/how-to-programmatically-turn-off-wifi-on-android-device */ WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(true); // Prevent keyboard from popping up as soon as app launches: (it works!) this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); /* * Keep the screen on, because as long as we are talking to the robot, this needs to be up http://stackoverflow.com/questions/9335908/how-to- prevent-the-screen-of * -an-android-device-to-turn-off-during-the-execution */ this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); /* * One or more of these three lines sets the screen to minimum brightness, Which should extend battery drain, and be less distracting on the robot. */ final WindowManager.LayoutParams winParams = this.getWindow().getAttributes(); winParams.screenBrightness = 0.01f; winParams.buttonBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF; // The "Connect" screen has a "Name" and "Address box" // I'm not really sure what one puts in these, and if you leave them // empty it works fine. // So not 110% sure what to do with these. Can the text just be: ""? // Just comment these out, and run the command with nulls? // mName = (EditText) findViewById(R.id.name_edit); // mAddress = (EditText) findViewById(R.id.address_edit); // The NXT Remote Control app pops up a list of seen NXTs, so maybe I // need to implement that instead. // Text to speech tts = new TextToSpeech(this, this); btnSpeak = (Button) findViewById(R.id.btnSpeak); txtText = (EditText) findViewById(R.id.txtSpeakText); // Now we need a Robot object before we an use any Roboty values! // We can pass defaults in or use the ones it provides myRobot = new Robot(INITIALTRAVELSPEED, INITIALROTATESPEED, DEFAULTVIEWANGLE); // We may have to pass this robot around a bit. ;) // Status Lines TextView distanceText = (TextView) findViewById(R.id.distanceText); distanceText.setText("???"); TextView distanceLeftText = (TextView) findViewById(R.id.distanceLeftText); distanceLeftText.setText("???"); TextView distanceRightText = (TextView) findViewById(R.id.distanceRightText); distanceRightText.setText("???"); TextView headingText = (TextView) findViewById(R.id.headingText); headingText.setText("???"); TextView actionText = (TextView) findViewById(R.id.isDoingText); actionText.setText("None"); // Travel speed slider bar SeekBar travelSpeedBar = (SeekBar) findViewById(R.id.travelSpeed_seekBar); travelSpeedBar.setProgress(myRobot.getTravelSpeed()); travelSpeedBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { myRobot.setTravelSpeed(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); // View angle slider bar SeekBar viewAngleBar = (SeekBar) findViewById(R.id.viewAngle_seekBar); viewAngleBar.setProgress(myRobot.getViewAngle()); viewAngleBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { myRobot.setViewAngle(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { Log.d(TAG, "View Angle Slider "); /* * If this gets sent every few milliseconds with the normal output, then there is no need to send a specific command every time it changes! */ // sendCommandToRobot(Command.VIEWANGLE); } }); // Rotation speed slider bar speedSP_seekBar SeekBar rotateSpeedBar = (SeekBar) findViewById(R.id.rotateSpeed_seekBar); rotateSpeedBar.setProgress(myRobot.getRotateSpeed()); rotateSpeedBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { myRobot.setRotateSpeed(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); /* * This is where we find the four direction buttons defined So we could define ALL buttons this way, set up an ENUM with all options, and call the same function for ALL * options! * * Just be sure the "release" only stops the robot on these, and not every button on the screen. * * Maybe see how the code I stole this form does it? */ Button buttonUp = (Button) findViewById(R.id.forward_button); buttonUp.setOnTouchListener(new DirectionButtonOnTouchListener(Direction.FORWARD)); Button buttonDown = (Button) findViewById(R.id.reverse_button); buttonDown.setOnTouchListener(new DirectionButtonOnTouchListener(Direction.REVERSE)); Button buttonLeft = (Button) findViewById(R.id.left_button); buttonLeft.setOnTouchListener(new DirectionButtonOnTouchListener(Direction.LEFT)); Button buttonRight = (Button) findViewById(R.id.right_button); buttonRight.setOnTouchListener(new DirectionButtonOnTouchListener(Direction.RIGHT)); // button on click event btnSpeak.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { speakOut(); } }); /* * This causes the typed text to be spoken when the Enter key is pressed. */ txtText.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { // If the event is a key-down event on the "enter" button if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { // Perform action on key press // Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show(); speakOut(); return true; } return false; } }); // Connect button connectToggleButton = (ToggleButton) findViewById(R.id.connectToggleButton); connectToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // The toggle is enabled Log.d(TAG, "Connect button Toggled On!"); myRobot.setConnectRequested(true); } else { // The toggle is disabled Log.d(TAG, "Connect button Toggled OFF."); myRobot.setConnectRequested(false); } } }); if (nxtStatusMessageHandler == null) nxtStatusMessageHandler = new StatusMessageHandler(); mStatusThread = new StatusThread(context, nxtStatusMessageHandler); mStatusThread.start(); // Start the web service! Log.d(TAG, "Start web service here:"); // Initiate message handler for web service if (robotWebServerMessageHandler == null) robotWebServerMessageHandler = new WebServerMessageHandler(this); // Has to include "this" to send context, see WebServerMessageHandler for explanation robotWebServer = new WebServer(context, PORT, robotWebServerMessageHandler, myRobot); try { robotWebServer.start(); } catch (IOException e) { Log.d(TAG, "robotWebServer failed to start"); //e.printStackTrace(); } // TODO: /* * See this reference on how to rebuild this handler in onCreate if it is gone: http://stackoverflow.com/questions/18221593/android-handler-changing-weakreference */ // TODO - Should I stop this thread in Destroy or some such place? Log.d(TAG, "Web service was started."); }
From source file:com.mozilla.SUTAgentAndroid.SUTAgentAndroid.java
public boolean setUpNetwork(String sIniFile) { boolean bRet = false; int lcv = 0;/* w w w .j av a 2 s . c o m*/ int lcv2 = 0; WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiConfiguration wc = new WifiConfiguration(); DoCommand tmpdc = new DoCommand(getApplication()); String ssid = tmpdc.GetIniData("Network Settings", "SSID", sIniFile); String auth = tmpdc.GetIniData("Network Settings", "AUTH", sIniFile); String encr = tmpdc.GetIniData("Network Settings", "ENCR", sIniFile); String key = tmpdc.GetIniData("Network Settings", "KEY", sIniFile); String eap = tmpdc.GetIniData("Network Settings", "EAP", sIniFile); String adhoc = tmpdc.GetIniData("Network Settings", "ADHOC", sIniFile); Toast.makeText(getApplication().getApplicationContext(), "Starting and configuring network", Toast.LENGTH_LONG).show(); /* ContentResolver cr = getContentResolver(); int nRet; try { nRet = Settings.System.getInt(cr, Settings.System.WIFI_USE_STATIC_IP); String foo2 = "" + nRet; } catch (SettingNotFoundException e1) { e1.printStackTrace(); } */ /* wc.SSID = "\"Mozilla-Build\""; wc.preSharedKey = "\"MozillaBuildQA500\""; wc.hiddenSSID = true; wc.status = WifiConfiguration.Status.ENABLED; wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); */ wc.SSID = "\"" + ssid + "\""; // wc.SSID = "\"Mozilla-G\""; // wc.SSID = "\"Mozilla\""; if (auth.contentEquals("wpa2")) { wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); wc.preSharedKey = null; } if (encr.contentEquals("aes")) { wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); } if (eap.contentEquals("peap")) { wc.eap.setValue("PEAP"); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X); } wc.status = WifiConfiguration.Status.ENABLED; if (!wifi.isWifiEnabled()) wifi.setWifiEnabled(true); while (wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { Thread.yield(); if (++lcv > 10000) return (bRet); } wl = wifi.createWifiLock(WifiManager.WIFI_MODE_FULL, "SUTAgent"); if (wl != null) wl.acquire(); WifiConfiguration foo = null; int nNetworkID = -1; List<WifiConfiguration> connsLst = wifi.getConfiguredNetworks(); int nConns = connsLst.size(); for (int i = 0; i < nConns; i++) { foo = connsLst.get(i); if (foo.SSID.equalsIgnoreCase(wc.SSID)) { nNetworkID = foo.networkId; wc.networkId = foo.networkId; break; } } int res; if (nNetworkID != -1) { res = wifi.updateNetwork(wc); } else { res = wifi.addNetwork(wc); } Log.d("WifiPreference", "add Network returned " + res); boolean b = wifi.enableNetwork(res, true); Log.d("WifiPreference", "enableNetwork returned " + b); wifi.saveConfiguration(); WifiInfo wi = wifi.getConnectionInfo(); SupplicantState ss = wi.getSupplicantState(); lcv = 0; lcv2 = 0; while (ss.compareTo(SupplicantState.COMPLETED) != 0) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } if (wi != null) wi = null; if (ss != null) ss = null; wi = wifi.getConnectionInfo(); ss = wi.getSupplicantState(); if (++lcv > 60) { if (++lcv2 > 5) { Toast.makeText(getApplication().getApplicationContext(), "Unable to start and configure network", Toast.LENGTH_LONG).show(); return (bRet); } else { Toast.makeText(getApplication().getApplicationContext(), "Resetting wifi interface", Toast.LENGTH_LONG).show(); if (wl != null) wl.release(); wifi.setWifiEnabled(false); while (wifi.getWifiState() != WifiManager.WIFI_STATE_DISABLED) { Thread.yield(); } wifi.setWifiEnabled(true); while (wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { Thread.yield(); } b = wifi.enableNetwork(res, true); Log.d("WifiPreference", "enableNetwork returned " + b); if (wl != null) wl.acquire(); lcv = 0; } } } lcv = 0; while (getLocalIpAddress() == null) { if (++lcv > 10000) return (bRet); } Toast.makeText(getApplication().getApplicationContext(), "Network started and configured", Toast.LENGTH_LONG).show(); bRet = true; return (bRet); }