2012-01-14 18 views
86

Devo disattivare il WiFi dopo aver premuto il pulsante "Spegni lo schermo". C'è bisogno di questa app per il mio tablet perché a volte mi dimentico di spegnere il WiFi e questo scarica la batteria molto velocemente. Vive 10 volte più volte di quanto vorrei senza WiFi. Esiste una soluzione disponibile come .apk? Posso monitorare quando lo schermo è spento e sono trascorsi 5 minuti? Posso disattivare a livello di programmazione WiFi sul dispositivo Android? Come?Come disattivare a livello di programmazione WiFi sul dispositivo Android?

+2

Se è solo per te, quindi Android ha l'impostazione "Politica di sospensione WiFi" in "Impostazioni WiFi" -> "Avanzate". Puoi abilitare lo spegnimento del WiFi dopo 15 minuti. –

+0

Non ho questa funzione, nelle impostazioni avanzate del mio WiFi ho solo la configurazione del protocollo (DNS, IP statico, MAC, ecc.) –

risposta

193

sono necessari i seguenti autorizzazioni nel file manifest:

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

quindi è possibile utilizzare il seguente nella classe di attività:

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
wifiManager.setWifiEnabled(true); 
wifiManager.setWifiEnabled(false); 

Utilizzare la seguente per verificare se è abilitato o meno

boolean wifiEnabled = wifiManager.isWifiEnabled() 

Troverete un bel tutorial sull'argomento this sito.

+11

perché è necessario il wake-lock per questo? – benbeel

+0

Sì, funziona senza WAKLE_LOCK e UPDATE_DEVICE_STATS, perché dove sono inclusi? – powder366

+2

Beh, suppongo che le autorizzazioni extra siano solo il risultato della copia diretta del codice dal link che ha fornito, ma anche così, UPDATE_DEVICE_STATS è riservato solo alle app di sistema, l'applicazione non verrà nemmeno compilata con tale autorizzazione. –

Problemi correlati