2012-05-06 12 views
12

Ich habe gegoogelt und viele Seiten gefunden, die über "Wifi-Radio deaktivieren" sagen. Aber in meinem Fall möchte ich nur das Android-Gerät von einem bestimmten WLAN-Netzwerk (SSID preknown) trennen, ohne das WiFi-Radio auszuschalten. Bitte geben Sie mir ein paar Einblicke zu diesem ThemaAndroid :: Wie man von einem wifi Netzwerk trennt?

Antwort

17

Wow, sollte dies nicht einen Monat beantwortet haben.

Hier ist der einfachste Weg, die ich in der Regel verwenden:

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

Wo DisconnectWifi nur eine kleine Klasse ist die BroadcastReceiver erweitert:

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

Sie müssen nur die ersten beiden Zeilen. – usman

+1

Dies kann nicht ohne eine App installiert werden oder ein Android-Entwickler werden? Wtf v ~ v – ThorSummoner

+0

die alten Fragen Kommentare aufwecken: D - mein Gefühl ist, selbst wenn Sie programmatisch trennen können, wird das System sofort versuchen, wieder zu gespeicherten Netzwerken zu verbinden! Da du ein Netzwerk speichern musst, um dich damit zu verbinden, kannst du nur WIRKLICH trennen, wenn du es vorher vergisst, was ein großes NEIN ist, da der Benutzer das Netzwerk vielleicht nicht einmal selbst konfiguriert hat, dann kann er sich nie verbinden ohne " der IT-Typ ". – leRobot

Verwandte Themen