gpt4 book ai didi

Android - 检测与特定 wifi ssid 断开连接的正确方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:16 27 4
gpt4 key购买 nike

我看过几个检测 wifi 断开连接的 BroadcastReciever 示例,但它们似乎都无法正常工作(例如,每次断开连接触发两次)并且没有提到检查 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
}
}
}

关于Android - 检测与特定 wifi ssid 断开连接的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com