WLAN 基础架构功能

Android WLAN 框架可帮助用户连接到优质 WLAN 网络(在有可用 WLAN 网络且需要连接到这类网络的情况下)。Android 可通过多种方式来实现这一点:

  • 打开网络通知:在有可用的优质开放 WLAN 网络时通知用户
  • 自动开启 WLAN:当用户靠近之前保存的某个网络时,重新启用 WLAN
  • 连接到开放网络:自动将用户连接到优质开放 WLAN 网络
  • 标记:显示与可用网络的质量相关的信息

上述功能均通过 AOSP 代码实现,您无需明确启用或配置这些功能。

打开网络通知

只要出现以下情况,“打开网络通知”功能便会向用户发出通知:

  • WLAN 已启用
  • 设备未连接到 WLAN 网络
  • 开放RSSI 足够高(与内部 WLAN 选择算法使用的 RSSI 阈值相同)的 WLAN 网络

用户可在设置应用中通过以下路径启用或停用该功能:

设置 > 网络和互联网 > WLAN > WLAN 偏好设置 > 打开网络通知

打开网络通知功能
图 1. 打开网络通知功能

自动开启 WLAN

用户可能会出于各种原因(例如,连接到不稳定的网络时)停用 WLAN,但在回家后可能忘记重新启用 WLAN,从而导致体验不佳(例如,无法控制家居自动化设备)。“自动开启 WLAN”功能解决了这一问题:只要设备靠近已保存(即用户过去明确连接过)且 RSSI 足够高的 WLAN 网络,便会自动重新启用 WLAN。

用户可在设置应用中通过以下路径启用或停用该功能:

设置 > 网络和互联网 > WLAN > WLAN 偏好设置 > 自动开启 WLAN

自动开启 WLAN
图 2. “自动开启 WLAN”功能

必须启用“WLAN 扫描”(针对位置信息)才能使该功能正常运行。如果未启用“WLAN 扫描”功能,则系统会提示用户允许启用此功能。之所以需要启用“WLAN 扫描”功能,是因为系统要根据扫描结果来判断设备是否位于符合重新启用 WLAN 连接条件的 WLAN 网络附近。

该功能可避免在用户停用 WLAN 后立即重新启用,即使设备检测到品质过硬的已保存 WLAN 网络也是如此。例如,如果用户在办公室并已连接到办公室的 WLAN(已保存的网络),然后停用 WLAN,则该功能将不会重新启用 WLAN,直到用户位于具有其他已保存网络(符合重新启用条件)的其他环境为止。

自动连接到开放网络

“连接到开放网络”功能在 Android 8.0 及更高版本中提供,可自动将设备连接到可用的优质网络。相关条件如下:

  • WLAN 已启用
  • 设备未连接到 WLAN 网络
  • 开放且优质(根据外部网络评分服务提供方的报告判断)的 WLAN 网络(请参见下一节)。

用户可在设置应用中通过以下路径启用或停用该功能:

设置 > 网络和互联网 > WLAN > WLAN 偏好设置 > 连接到开放网络

连接到开放网络
图 3. “连接到开放网络”功能和“网络评分服务提供方”菜单

如果未选择外部网络评分服务提供方,“连接到开放网络”功能便会停用。用户可以使用“网络评分服务提供方”菜单选择任何可用的网络评分服务提供方。

外部网络评分服务提供方

为了帮助用户确定优质 WLAN 网络需要符合哪些因素条件,Android 支持可提供开放 WLAN 网络质量相关信息的外部网络评分服务提供方(也称为“网络评分器”)。例如,网络评分器可能会使用历史效果数据(如“此 AP 过去的效果非常好,值得立即一试”)来判断特定 WLAN 网络的质量是否良好。

用户可通过以下路径访问可用的网络评分服务提供方列表: 设置 > 网络和互联网 > WLAN > WLAN 偏好设置 > 高级 > 网络评分服务提供方菜单。用户可以从中选择一个服务方,也可以不选择。如果没有可用的服务方或没有进行选择,“连接到开放网络”功能便会停用。

您无需提供外部网络评分服务提供方。要创建提供方,请执行以下操作:

  • 实现 NetworkScoreManager 中记录的 API。
  • 外部网络评分服务提供方必须是特权应用。
  • 通过更新产品叠加层配置文件(位于 frameworks/base/core/res/res/values/config.xml 中)中的 config_defaultNetworkRecommendationProviderPackage 键,将您的系统配置为使用自定义实现。

如果您不想包含默认的网络评分服务提供方功能,则可以选择不设置默认提供方属性,然后在 AOSP 中隐藏网络评分服务提供方屏幕。

WLAN 网络标记

WLAN 选择器还会根据网络评分服务提供方提供的信息,添加与可用 WLAN 网络的质量相关的信息,从而帮助用户手动选择 WLAN 网络。对于具有可用信息(由外部网络评分服务提供方提供)的网络,其名称下方会显示相应的速度信息。

WLAN 网络质量
图 4. 包含网络质量相关信息的 WLAN 网络

由于该功能需要用到外部网络评分服务提供方,因此如果没有可用的提供方或未选择提供方,该功能便无法使用,而且不会显示速度/质量信息。