【问题标题】:android.net.wifi.STATE_CHANGE not always triggered on wifi handoffandroid.net.wifi.STATE_CHANGE 并不总是在 wifi 切换时触发
【发布时间】:2014-05-07 13:12:10
【问题描述】:

我有 2 个路由器发射具有相同 SSID 的 wifi,我基本上希望我的应用程序实时告诉我“我已连接到路由器 X”。我有一个 android.net.wifi.STATE_CHANGE 的广播接收器,如果我连接到我的任何一个 wifi 或断开连接,它会按预期触发,并且会适当地更新我的应用程序的显示。

但是,如果我强制我的设备从路由器 A 跳转到路由器 B(例如,在我连接到路由器 A 时拔掉它),android.net.wifi.STATE_CHANGE 并不总是被触发。有时它会立即触发(如预期的那样)并迅速报告“与路由器 A 上的 testwifi 断开连接”,然后是“连接到路由器 B 上的 testwifi”。有时它会在 30 多秒后触发。有时它只是没有被触发。

我觉得它应该总是被触发,因为两个 wifi 都有不同的 BSSID,所以 wifi 状态正在改变......这是一个 android 错误吗?我错过了什么吗?

谢谢!

【问题讨论】:

    标签: android broadcastreceiver android-wifi


    【解决方案1】:

    想出了如何获得我想要的东西,尽管我仍然不清楚这是否是一个 android 错误。所以基本上,关键是听

    android.net.wifi.supplicant.STATE_CHANGE

    (即 WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)而不是

    android.net.wifi.STATE_CHANGE

    (即 WifiManager.NETWORK_STATE_CHANGED_ACTION)。这个android doc page 给出了请求者是什么以及为什么这个解决方案有效的概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      相关资源
      最近更新 更多