android - 仅当用户更改时更改 Android 上的 Wifi 状态

标签 android

我有一个程序可以定期扫描并列出手机的 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/

相关文章:

android - 检查是否有使用操作字符串注册的 BroadCastReceiver

android - 如何使用 pjsua2 android 发送 SIP 消息

java - 如何从 PagerAdapter 类更改 fragment 的 TextView

android - AppCompat 操作栏样式

java - 使用 ant 引用 jar(不是/libs)的外部文件夹

java - 应用程序启动时发生的 Activity

java - 在 Android 应用程序中创建本地数据库

android - 未知 Chrome 错误 : -6

java - 在 Android Studio 中使用 Java 居中 View

Android OpenGL ES 2.0 文本渲染