我想对 的行为进行一些澄清WifiManager.getScanResults()
,即:
启用无线时
- android是否以固定间隔扫描接入点?可以查询/更改间隔吗?可以查询上次扫描的时间吗?有关讨论,请参阅此答案
- 当无线电关闭(睡眠)时会发生什么 - 而 wifi 仍然启用 - 将
getScanResults()
继续返回最后的扫描结果?怎么知道是不是时候了startScan()
?
禁用无线时
getScanResults()
会返回最后的扫描结果吗?还是一个空列表?或者null
(它有时会返回 null 并且这不是由 SO 中发布的 90% 的片段处理的)?- 即使在重新启动后(手机在 wifi 关闭的情况下启动),1 的答案也是正确的?
我问的原因是我需要定期获取可用接入点的列表,我宁愿立即调用getScanResults()
,而不是WifiManager.startScan()
如果getScanResults()
我真的不需要的话 - 因为这涉及获取 wifi 锁等并且相当微妙. 我也不确定 API 级别和手机硬件在多大程度上发挥了作用。
有关困难的良好讨论,请参阅此答案