2012-05-06 51 views
12

我已經谷歌搜索,並找到許多網站說'禁用無線電廣播'。但在我的情況下,我只想讓android設備從特定的WiFi網絡(SSID預知)斷開,而無需關閉WiFi無線電。請給我一些關於這個問題的見解Android ::如何從WiFi網絡斷開連接?

回答

17

哇這應該不需要一個月的時間來回答。

下面是我平時使用的最簡單的方法:

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

哪裏DisconnectWifi只是一個小類擴展的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

你只需要前兩行。 – usman

+1

如果不安裝應用程序或成爲Android開發人員,這無法完成? Wtf v〜v – ThorSummoner

+0

喚醒古老問題的評論:D - 我的感覺是,即使您可以以編程方式斷開連接,系統會立即嘗試重新連接到已保存的網絡!既然你需要保存一個網絡來連接它,你只能事先斷開連接,這是一個很大的NO-NO,因爲用戶甚至可能自己沒有配置網絡,所以他永遠不會連接沒有「 IT人「。 – leRobot

相關問題