See*_*vil 4 android broadcastreceiver android-wifi
我已经看到几个BroadcastReciever示例来检测wifi断开连接,但它们似乎都没有正常工作(例如,每个断开连接触发两次)并且没有提到检查ssid,这是否可能?
所以,为了澄清,我想检测与特定ssid的断开连接.在设备上禁用实际断开连接而不禁用wifi.
谢谢
编辑:重新开放作为实在不行就两个,我们就来测试设备.
NETWORK_STATE_CHANGED_ACTION最终得到了答案.注册此事件时出现问题的设备在卸载另一个应用程序(也会监听类似事件)时开始工作!不知道应用程序如何或为何阻止使用其他应用程序注册的事件.最终解决方案最终成为了;
String action = intent.getAction();
if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION))
{
WifiManager manager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
NetworkInfo.State state = networkInfo.getState();
if(state == NetworkInfo.State.CONNECTED)
{
String connectingToSsid = manager.getConnectionInfo().getSSID().replace("\"", "");
WifiStateHistory.recordConnectedSsid(connectingToSsid);
//connected
}
if(state == NetworkInfo.State.DISCONNECTED)
{
if(manager.isWifiEnabled())
{
String disconnectedFromSsid = WifiStateHistory.getLastConnectedSsid();
//disconnected
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |