使用Android的WifiManager扫描可用的Wifi网络很容易。


通过context.getSystemService获取WifiManager的句柄
建立意图
创建广播接收器
出于上述目的注册该接收者
等待
循环浏览扫描结果


我没有意识到的是,这个过程一旦开始就一直在继续。据我所知,停止它的唯一方法是注销有问题的广播接收器。


这是停止扫描wifi网络的唯一且正确的方法吗?
如果是这样,实际上是否真的不需要发出WifiManager.stopScan之类的东西(无论如何似乎都不存在)?


我假设该设备默认情况下仍会继续扫描wifi网络,因此以后我可以使用相同的WifiManger手柄来获取可用网络的最新列表。

最佳答案

如您所料,操作系统无论如何都在跟踪WiFi事件,通过使用WiFiManager,您只是在订阅应用程序以接收某些类型的通知。

如果您的应用程序不再对它们感兴趣,则应注销您的应用程序接收器,避免在WiFi事件上进行不必要的上下文切换。

WifiManager的参考不是很具描述性,但是您可以在ConenctivtyManager参考中找到有关操作系统功能的一些提示:
https://developer.android.com/reference/android/net/ConnectivityManager.html

关于android - Android WifiManager-stopScan,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41224002/

10-12 07:25