2012-05-06 13 views
12

Mam Google Googled i znajduję wiele witryn mówiących o "wyłączaniu radia Wifi". Ale w moim przypadku, chcę tylko, aby urządzenie z Androidem odłączyło się od konkretnej sieci Wi-Fi (SSID prejaw) bez wyłączania radia WiFi. Proszę dać mi pewien wgląd w tej kwestii:Android :: Jak rozłączyć się z siecią Wi-Fi?

Odpowiedz

17

Wow, to nie powinno zająć miesiąca, aby otrzymać odpowiedź.

Oto najprostszy sposób, że zazwyczaj użyć:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifi.disconnect(); 
discon = new DisconnectWifi(); 
registerReceiver(discon, new IntentFilter(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)); 

Gdzie DisconnectWifi to tylko niewielka klasa extends BroadcastReceiver:

public class DisconnectWifi extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context c, Intent intent) { 
     if(!intent.getParcelableExtra(wifi.EXTRA_NEW_STATE).toString().equals(SupplicantState.SCANNING)) wifi.disconnect(); 
     } 
    } 
+0

Trzeba tylko dwie pierwsze linie. – usman

+1

Nie można tego zrobić bez zainstalowania aplikacji lub zostania programistą Androida? Wtf v ~ v – ThorSummoner

+0

budzi się komentarze starożytnego pytania: D - czuję, że nawet jeśli możesz odłączyć programowo, system natychmiast spróbuje ponownie połączyć się z zapisanymi sieciami! Ponieważ musisz zapisać sieć, aby się z nią połączyć, możesz NAPRAWDĘ się rozłączyć, jeśli wcześniej go zapomnisz, co jest dużym NIE-NIE, ponieważ użytkownik nie może sam skonfigurować sieci, a on nigdy nie będzie się łączyć bez " informatyk ". – leRobot

Powiązane problemy