WLAN 基础架构功能
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
图 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 网络。对于具有可用信息(由外部网络评分服务提供方提供)的网络,其名称下方会显示相应的速度信息。
图 4. 包含网络质量相关信息的 WLAN 网络
由于该功能需要用到外部网络评分服务提供方,因此如果没有可用的提供方或未选择提供方,该功能便无法使用,而且不会显示速度/质量信息。
WLAN 基础架构功能的更多相关文章
- JavaWeb三大框架基础架构——CRUD的基础功能搭建
@ 目录 介绍 注意 applicationContext.xml mybatis-config.xml web.xml 结束语 介绍 项目前端采用了bootstrap,后端是ssm三大框架 注意 这 ...
- IT基础架构规划方案一(网络系统规划)
背景 某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公 ...
- IT基础架构规划方案二(计算机系统与机房规划规划)
计算机系统规划 服务器硬件选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选 ...
- IT基础架构规划方案三(IT基础软件和系统规划)
IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(3)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...
- [Search Engine] 搜索引擎分类和基础架构概述
大家一定不会多搜索引擎感到陌生,搜索引擎是互联网发展的最直接的产物,它可以帮助我们从海量的互联网资料中找到我们查询的内容,也是我们日常学习.工作和娱乐不可或缺的查询工具.之前本人也是经常使用Googl ...
- 移动互联网实战--Web Restful API设计和基础架构
前言: 在移动互联网的大潮中, Web Restful API逐渐成为Web Server重要的一个分支. 移动端和服务端的交互, 主流的方式还是通过Http协议的形式来进行. 请求以Get/Post ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 用c#开发微信 (11) 微统计 - 阅读分享统计系统 1 基础架构搭建
微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享 ...
随机推荐
- Android上方便地开发的C程序
假设你基于没有一个专门的开发板练手.那你的Android手机也能够开发大多数C应用程序.安装好后编译C的编译器. 本文仅仅写一个Hello World的执行过程. 长处是:不须要eclipse,不须要 ...
- Laravel-redis-订阅发布
Laravel-redis-订阅发布 标签(空格分隔): php Redis订阅发布 理解订阅发布: publish:将信息 message 发送到指定的频道 channel publish test ...
- sql 跟踪
目录 1 sql跟踪 1.1 alter session 1.2 DBMS_MONITOR 1.3 DBMS_SESSION 1.4 oradebug模式 1.5 触发器的模式启用sql 跟踪 1.6 ...
- POJ 3723 Conscription (Kruskal并查集求最小生成树)
Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14661 Accepted: 5102 Des ...
- MySQL学习(四)——外键
1.比方现在有两张表“分类表”和“商品表”,为了表明商品属于哪个分类,通常我们将在商品表上添加一列,用于存放分类cid的信息,此列称为:外键. 此时分类表category称为主表,cid称为主键:商品 ...
- Java中如何使用线程
首先了解线程的状态转换图: 在Java中一个类要当做线程来使用有两种方法: 1)继承Thread类,并重写run函数 2)实现Runnable接口,并重写run函数 Java是单继承的,但某些情况下一 ...
- 从 MVC 到微服务,技术演变的必经之路
架构模式演进 CGI 模式 图 1 CGI 出现于 1993 年,图 1 是 CGI 模式比较简单的结构图. MVC 模式 开源电商软件等都是采用 MVC 模式,MVC 模式是做软件开发必学和必经历的 ...
- c#学习0216
2017-03-02 out 关键字指定所给的参数为一个输出参数 该参数的值将返回给函数调用中使用的变量 注意事项 1未赋值的变量用作ref参数是非法的,但是可以把未赋值的变量用作out参数 2 在 ...
- servlet关于转发用法
# 1.转发 ## (1)什么是转发? 一个web组件将未完成的处理交给另外一个web组件继续做. 注: web组件(servlet/jsp) 最常见的情况: ...
- LeetCode Golang实现 1. 两数之和
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...