美文网首页
2019-08-14 Android Wi-Fi信息获取时遇到的

2019-08-14 Android Wi-Fi信息获取时遇到的

作者: HaloMartin | 来源:发表于2019-08-14 10:24 被阅读0次

    一. Wi-Fi已开启,偶尔会遇到获取不到Wi-Fi列表信息

    正确的开发流程如下:

    1. Wi-Fi开启,特别是开发者代码中开启Wi-Fi
    2. 检查WifiManager.getWifiState()是否等于WifiManager.WIFI_STATE_ENABLED
    3. 系统默认调用WifiManager.startscan()或开发者调用
    4. 监听WifiManager.SCAN_RESULTS_AVAILABLE_ACTION广播
    5. 通过WifiManager.getScanResults()获取Wi-Fi信息返回

    实际使用时,一般是等待系统默认调用startscan(),开发者跳过了监听广播WifiManager.SCAN_RESULTS_AVAILABLE_ACTION,直接使用WifiManager.getScanResults()获取Wi-Fi列表信息,因为Wi-Fi开启到获取到Wi-Fi列表,有一定的时间差,特别是对一些比较旧的机型,需要的时间较久,直接结果就是,系统还没有获取到最新的Wi-Fi列表,开发者的程序就已经调用了getScanResults()获取Wi-Fi列表信息,此时的Wi-Fi列表还是为开启Wi-Fi时的列表,即为空,从开启Wi-Fi到可以获取到Wi-Fi列表信息,这个时间差可长可短,一般在10秒或以上。

    特别注意的是,如果手机已连接Wi-Fi,则Wi-Fi列表肯定可以获取到,除非App缺少相关权限时,此时应在获取到权限时,重新进行步骤2步骤5的过程以获取Wi-Fi列表信息。

    代码参考链接:Android WIFI开发、扫描、连接和密码验证(https://blog.csdn.net/u011974987/article/details/50551580)

    相关文章

      网友评论

          本文标题:2019-08-14 Android Wi-Fi信息获取时遇到的

          本文链接:https://www.haomeiwen.com/subject/otbwjctx.html