Android Marshmallow如何选择WiFi网络

71次阅读
没有评论

Android Marshmallow如何决定自动连接哪个WiFi网络

在Android设备上使用Marshmallow或更高版本时,当存在多个相同的信号强度WiFi网络可以接入时,系统会根据一定的优先级规则进行决策。具体而言,如果用户当前已经保存了两个不同的WiFi网络,并且这两个网络都具有相同的信号强度,那么设备会选择特定的一个进行连接。

官方文档

通常情况下,Android设备遵循类似于FreeBSD中的做法来选择最优的WiFi接入点:优先级最高或首次出现在配置文件(/data/misc/wifi/wpa_supplicant.conf)中的网络将会被选中[1]。这表明保存在设备上的每个已知WiFi网络都有一个对应的配置条目,这些条目包含了关于该网络以及其相对于其他已知网络的优先级的信息。

私有与开放网络的影响

虽然官方给出的一般性规定显示:在多个优先级一致、信号强度相同的网络中连接哪个是随机性的(或至少未明示优先顺序),但实证结果往往倾向于那些需要身份验证且使用了更安全协议(如WPA/WPA2)的网络会被优先选择[2]。这是因为系统中的安全策略考虑使得符合标准的密钥交换过程通常比开放网络更为可靠。

Wi-Fi优先级设置

另外,部分Android设备支持通过“Wi-Fi优先级”设置来指定不同接入点在网络列表中排序前后顺序的能力,此功能不仅可以在系统的高级设置中直接调整(对于具有该选项的操作系统版本),也能借助第三方应用程序或模块来实现[3]。值得注意的是,“WiFi优先级”的具体配置与维护机制尚没有公开详尽说明。因此,在实际操作时应当关注是否有官方文档支持相关功能的正确使用。

总结来说,Android设备在选择连接哪个网络时综合考虑了多种因素包括但不限于已知网络的安全性、信号强度以及用户自定义的优先级设置等。尽管“WiFi优先级”可能影响最终选定的Wi-Fi连接对象,但具体实施细节还需依赖具体的操作系统版本及硬件支持情况。在涉及高安全需求场景下应仔细评估各种网络选择的实际后果。

参考文献:
[1] http://www.freebsd.org/cgi/man.cgi?wpa_supplicant.conf(5)
[2] 评论回复:https://www.zhihu.com/question/43680275
[3] 如何设置WiFi优先级:http://www.howtogeek.com/204531/ask-htg-how-do-i-force-android-to-prioritize-wi-fi-hotspots/

以上信息旨在解释Android系统在面对多个相同条件下(比如信号强度相近)的WiFi网络时其自动选择机制背后的基本逻辑。

正文完