我有一个程序可以定期扫描并列出手机的 wifi。 使用 android 版本 API >= 18,我可以轻松获得这些而无需打开 wifi。
问题,当版本小于 18 时用户:
- 关闭 wifi:我必须打开 wifi,扫描,然后再次关闭。
- 打开 wifi:我不需要再次将其关闭。
我尝试注册一个监听 WIFI_STATE_CHANGED_ACTION 的 BroadcastReceiver,但我怎么知道是我改变了 wifi 状态还是用户?
最佳答案
您可以通过扩展 BroadcastReceiver
来实现这种行为,它将“监听”您 创建的自定义事件。
无论您做什么,系统都会广播 WIFI_STATE_CHANGED_ACTION
,因此您要做的是广播您创建的自定义 Intent ,并让 BroadcastReceiver< 捕获它
当 wifi 状态从在您的应用程序中更改时。
让 BroadcastReceiver
只监听您的广播,然后在广播接收器的 onReceive()
方法中激活 WiFi。
关于android - 仅当用户更改时更改 Android 上的 Wifi 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547906/