2011-04-15 40 views

Respuesta

42
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi 

También es necesario solicitar el permiso en su AndroidManifest.xml:

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
+0

gracias lo intenté pero no funcionó. –

+1

funciona después de agregar permiso gracias ... –

+2

sí, no olvide agregar el permiso de uso en su manifiesto android.permission.CHANGE_WIFI_STATE – Codii

3

probar este código

Intent gpsOptionsIntent = new Intent( android.provider.Settings.ACTION_WIFI_SETTINGS); 
      startActivityForResult(gpsOptionsIntent,0); 
+0

gracias, pero no quiero abrir la configuración. Quiero deshabilitar o habilitar directamente desde mi aplicación –

13

para activar/desactivar el WiFi en su aplicación necesita utilizar WiFiManager clase. Cree 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 usted tiene 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 todo el código de ejemplo de activar/desactivar el WiFi en Android con la visita de la interfaz de usuario this website

+0

Esta es una respuesta más completa. Incluye todos los permisos necesarios. – garlicman

+0

De acuerdo con garlicman, esta debería ser la respuesta aceptada. – Tony

+0

cuando lo hago en mi proyecto, pero cuando se ejecuta este código, el sistema dar un mensaje indica que la aplicación está tratando de usar wlan, si lo permite. y aparece cada vez! ¿Puedo habilitar wlan sin la ventana de solicitud. – SalutonMondo

1

probar este

public void disableWifi(Context context, Boolean bool) { 
    WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 

    if(bool) 
     wifi.setWifiEnabled(false); 
    else 
     wifi.setWifiEnabled(true); 
} 
+1

Aunque esto podría responder a la pregunta, también se debe explicar cómo y por qué. – BDL

0
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 manifiestos

Cuestiones relacionadas