使用Android的WifiManager扫描可用的Wifi网络很容易 .
-
通过
context.getSystemService
获取WifiManager的句柄 -
创建一个意图
-
创建广播接收器
-
以上述意图注册该接收器
-
等等
-
循环扫描结果
我没有意识到的是,这个过程一旦开始就一直在滚动 . 据我所知,阻止它的唯一方法是取消注册有问题的广播接收器 .
-
这是停止扫描wifi网络的唯一且正确的方法吗?
-
如果是这样,真的没有必要发出类似WifiManager.stopScan(它似乎不存在)的东西吗?
我假设设备默认扫描无线网络,所以稍后我可以使用相同的WifiManger手柄获取可用网络的新列表 .
1 回答
正如您所假设的那样,操作系统无论如何都在跟踪WiFi事件,通过使用WiFiManager,您只需订阅应用程序即可接收某些类型的通知 .
如果您的应用程序不再对它们感兴趣,则应取消注册应用程序接收器,避免对WiFi事件进行不必要的上下文切换 .
WifiManager的引用不是很具描述性,但您可以在ConenctivtyManager参考中找到有关操作系统的一些提示:https://developer.android.com/reference/android/net/ConnectivityManager.html