blob: d8add6fe066726db902deb5cfbd546683b5b3a4c [file] [log] [blame]
<html devsite><head>
<meta name="book_path" value="/_book.yaml"/>
<meta name="project_path" value="/_project.yaml"/>
</head>
<body>
<!--
Copyright 2018 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 id="wi-fi_infrastructure_features" class="page-title">WLAN 基础架构功能</h1>
<p>Android WLAN 框架可帮助用户连接到优质 WLAN 网络(在有可用 WLAN 网络且需要连接到这类网络的情况下)。Android 可通过多种方式来实现这一点:</p>
<ul>
<li><strong>打开网络通知</strong>:在有可用的优质开放 WLAN 网络时通知用户<em></em></li>
<li><strong>自动开启 WLAN</strong>:当用户靠近之前保存的某个网络时,重新启用 WLAN</li>
<li><strong>连接到开放网络</strong>:自动将用户连接到优质开放 WLAN 网络<em></em></li>
<li><strong>标记</strong>:显示与可用网络的质量相关的信息</li>
</ul>
<p>上述功能均通过 AOSP 代码实现,您无需明确启用或配置这些功能。</p>
<h2 id="open_network_notification">打开网络通知</h2>
<p>只要出现以下情况,“打开网络通知”<em></em>功能便会向用户发出通知:</p>
<ul>
<li>WLAN 已启用</li>
<li>设备未连接到 WLAN 网络</li>
<li><strong>开放</strong><strong>RSSI 足够高</strong>(与内部 WLAN 选择算法使用的 RSSI 阈值相同)的 WLAN 网络时<em></em></li>
</ul>
<p>用户可在设置应用中通过以下路径启用或停用该功能:</p>
<p><strong>设置</strong> &gt; <strong>网络和互联网</strong> &gt; <strong>WLAN</strong> &gt; <strong>WLAN 偏好设置</strong> &gt;
<strong>打开网络通知</strong></p>
<figure>
<img src="/devices/tech/connect/images/open-network-notification.png" alt="打开网络通知功能" class="screenshot" width="350"/>
<figcaption><strong>图 1.</strong> 打开网络通知功能</figcaption>
</figure>
<h2 id="turn_on_wi-fi_automatically">自动开启 WLAN</h2>
<p>用户可能会出于各种原因(例如,连接到不稳定的网络时)停用 WLAN,但在回家后可能忘记重新启用 WLAN,从而导致体验不佳(例如,无法控制家居自动化设备)。<em></em><em></em>“自动开启 WLAN”功能解决了这一问题:只要设备靠近<strong>已保存</strong>(即用户过去明确连接过)且 <strong>RSSI 足够高</strong>的 WLAN 网络,便会自动重新启用 WLAN。</p>
<p>用户可在设置应用中通过以下路径启用或停用该功能:</p>
<p><strong>设置</strong> &gt; <strong>网络和互联网</strong> &gt; <strong>WLAN</strong> &gt; <strong>WLAN 偏好设置</strong> &gt; <strong>自动开启 WLAN</strong></p>
<figure>
<img src="/devices/tech/connect/images/auto-wifi.png" alt="自动开启 WLAN" class="screenshot" width="350"/>
<figcaption><strong>图 2.</strong> “自动开启 WLAN”功能</figcaption>
</figure>
<p>必须启用“WLAN 扫描”(针对位置信息)才能使该功能正常运行。如果未启用“WLAN 扫描”功能,则系统会提示用户允许启用此功能。之所以需要启用“WLAN 扫描”功能,是因为系统要根据扫描结果来判断设备是否位于符合重新启用 WLAN 连接条件的 WLAN 网络附近。</p>
<p>该功能可避免在用户停用 WLAN 后立即重新启用,即使设备检测到品质过硬的已保存 WLAN 网络也是如此。例如,如果用户在办公室并已连接到办公室的 WLAN(已保存<em></em>的网络),然后停用 WLAN,则该功能将不会重新启用 WLAN,直到用户位于具有其他已保存网络(符合重新启用条件)的其他环境为止。</p>
<h2 id="auto_connect_to_open_networks">自动连接到开放网络</h2>
<p>“连接到开放网络”功能在 Android 8.0 及更高版本中提供,可自动将设备连接到可用的优质网络。<em></em>相关条件如下:</p>
<ul>
<li>WLAN 已启用</li>
<li>设备未连接到 WLAN 网络</li>
<li><strong>开放</strong>且优质<em></em>(根据外部网络评分服务提供方<em></em>的报告判断)的 WLAN 网络(请参见下一节)。</li>
</ul>
<p>用户可在设置应用中通过以下路径启用或停用该功能:</p>
<p><strong>设置</strong> &gt; <strong>网络和互联网</strong> &gt; <strong>WLAN</strong> &gt; <strong>WLAN 偏好设置</strong> &gt; <strong>连接到开放网络</strong></p>
<figure>
<img src="/devices/tech/connect/images/connect-open-networks.png" alt="连接到开放网络" class="screenshot" width="350"/>
<figcaption><strong>图 3.</strong> “连接到开放网络”功能和“网络评分服务提供方”菜单</figcaption>
</figure>
<p>如果未选择外部网络评分服务提供方<em></em>,“连接到开放网络”<em></em>功能便会停用。用户可以使用“网络评分服务提供方”菜单选择任何可用的网络评分服务提供方。</p>
<h3 id="external_network_rating_provider">外部网络评分服务提供方</h3>
<p>为了帮助用户确定优质<em></em> WLAN 网络需要符合哪些因素条件,Android 支持可提供开放 WLAN 网络质量相关信息的外部网络评分服务提供方<em></em>(也称为“网络评分器”<em></em>)。例如,网络评分器可能会使用历史效果数据(如“此 AP 过去的效果非常好,值得立即一试”)来判断特定 WLAN 网络的质量是否良好。</p>
<p>用户可通过以下路径访问可用的网络评分服务提供方列表:
<strong>设置</strong> &gt; <strong>网络和互联网</strong> &gt; <strong>WLAN</strong> &gt; <strong>WLAN 偏好设置</strong> &gt; <strong>高级</strong> &gt; <strong>网络评分服务提供方</strong>菜单。用户可以从中选择一个服务方,也可以不选择。如果没有可用的服务方或没有进行选择,“连接到开放网络”功能便会停用。<em></em></p>
<p>您无需提供外部网络评分服务提供方。要创建提供方,请执行以下操作:</p>
<ul>
<li>实现 <code>NetworkScoreManager</code> 中记录的 API。</li>
<li>外部网络评分服务提供方必须是特权应用。</li>
<li>通过更新产品叠加层配置文件(位于 <code>frameworks/base/core/res/res/values/config.xml</code> 中)中的 <code>config_defaultNetworkRecommendationProviderPackage</code> 键,将您的系统配置为使用自定义实现。</li>
</ul>
<p>如果您不想包含默认的网络评分服务提供方功能,则可以选择不设置默认提供方属性,然后在 AOSP 中隐藏<strong>网络评分服务提供方</strong>屏幕。</p>
<h3 id="wi-fi_network_badging">WLAN 网络标记</h3>
<p>WLAN 选择器还会根据网络评分服务提供方提供的信息<em></em>,添加与可用 WLAN 网络的质量相关的信息,从而帮助用户手动选择 WLAN 网络。对于具有可用信息(由外部网络评分服务提供方提供)的网络,其名称下方会显示相应的速度信息。</p>
<figure>
<img src="/devices/tech/connect/images/wifi-network-quality.png" alt="WLAN 网络质量" class="screenshot" width="350"/>
<figcaption><strong>图 4.</strong> 包含网络质量相关信息的 WLAN 网络</figcaption>
</figure>
<p>由于该功能需要用到外部网络评分服务提供方,因此如果没有可用的提供方或未选择提供方,该功能便无法使用,而且不会显示速度/质量信息。</p>
</body></html>