2012-05-06 53 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

相关问题