WifiManager returns 在我的 Xperia Z3+ 上是一个空列表,但在我的 Galaxy S4 上可以正常工作
WifiManager returns an empty list on my Xperia Z3+ but works as expected on my Galaxy S4
我的 WifiBroadcastReceiver
监听更新的 WIFI 状态。当我按下 MainActivity
上的按钮时,WifiManager
执行 WIFI 扫描,这会触发我的 WifiBroadcastReceiver 中的 onReceive
方法。
当我从 Intent
得到 action
时,它是正确的,它 returns WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
。当我收到 action
时,我调用 WifiManager.getScanResults()
,其中 return 是 List
个 ScanResult
对象。
在 S4 上,结果如预期,可用 WIFI 网络列表。但是在 Z3+ 上,虽然它 return a List<ScanResult>
列表是空的。
这可能是什么原因造成的?
S4 是 运行 Android 5.0.1.
Z3+ 是 运行 Android 6.0.1.
从 Android 开始,6.0 权限行为已移至运行时。这意味着我们需要以不同的方式处理权限。
在此处查看此答案:
我的 WifiBroadcastReceiver
监听更新的 WIFI 状态。当我按下 MainActivity
上的按钮时,WifiManager
执行 WIFI 扫描,这会触发我的 WifiBroadcastReceiver 中的 onReceive
方法。
当我从 Intent
得到 action
时,它是正确的,它 returns WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
。当我收到 action
时,我调用 WifiManager.getScanResults()
,其中 return 是 List
个 ScanResult
对象。
在 S4 上,结果如预期,可用 WIFI 网络列表。但是在 Z3+ 上,虽然它 return a List<ScanResult>
列表是空的。
这可能是什么原因造成的?
S4 是 运行 Android 5.0.1.
Z3+ 是 运行 Android 6.0.1.
从 Android 开始,6.0 权限行为已移至运行时。这意味着我们需要以不同的方式处理权限。
在此处查看此答案: