¿Cómo activar / desactivar WiFi desde una aplicación?
Quiero activar / desactivar la conexión inalámbrica desde mi aplicación de Android. ¿Cómo puedo hacer eso?
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi
También necesitas solicitar el permiso en tu AndroidManifest.xml:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
Para habilitar / deshabilitar WiFi en su aplicación es necesario utilizar la clase WiFiManager. Crear un objeto de clase WiFiManager para obtener los servicios de WiFi.
WifiManager wifi; wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(false);//Turn off Wifi wifi.setWifiEnabled(true);//Turn on Wifi
Y tienes que poner los siguientes permisos en AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
Para obtener el código completo de la muestra de habilitar / deshabilitar Wifi en android con UI visite este sitio web
Prueba este código
Intent gpsOptionsIntent = new Intent( android.provider.Settings.ACTION_WIFI_SETTINGS); startActivityForResult(gpsOptionsIntent,0);
prueba esto
public void disableWifi(Context context, Boolean bool) { WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); if(bool) wifi.setWifiEnabled(false); else wifi.setWifiEnabled(true); }
public class MainActivity extends AppCompatActivity { Switch btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Switch) findViewById(R.id.switch1); btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { toggleWiFi(true); Toast.makeText(getApplicationContext(), "Wi-Fi Enabled!", Toast.LENGTH_LONG).show(); } else { toggleWiFi(false); Toast.makeText(getApplicationContext(), "Wi-Fi Disabled!", Toast.LENGTH_LONG).show(); } } }); } public void toggleWiFi(boolean status){ WifiManager wifiManager = (WifiManager)this.getSystemService(WIFI_SERVICE); if (status && !wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); } else if (!status && wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(false); } } }
Agregar permiso de usuario en archivos de manifiesto