WifiQualifiedNetworkSelector
来源:互联网 发布:淘宝如何重新申请退款 编辑:程序博客网 时间:2024/05/18 03:10
android m/mr1(6.0/6.1)WifiAutoJoinController.java
Android7.0/7.1
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConnectivityManager.java
PeriodicScanListener onResults
AllSingleScanListener onResults
PnoScanListener onPnoNetworkFound
handleScanResults
localLog(listenerName + " onResults: start QNS")
mQualifiedNetworkSelector.selectQualifiedNetwork()
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigManager.java
selectQualifiedNetwork
//select best candidate network, return WifiConfiguration
1. if needQualifiedNetworkSelection() return false, then return null
that means: scanDetails=null or isLinkDebouncing
or skipQualifiedNetworkSelectionForAutoConnect(auto connect disabled)
or connecting/disconnecting or WifiConfiguration=null
or not allowed to switch network
or short time pass since last select
or current network is qualified
2. loop for scanDetails
2.1 ssid=null, add to noValidSsid, ignore
2.2 isBlackListed() ignore, addToBlacklist(bssid) will add to blackList
2.3 too weak signal strength add to lowSignalScan, ignore 2.4G level<-85 5G level<-85
2.4 not saved network(add to notSavedScan)or saved but ephemeral, ignore
2.5 calculate the score of each scanresult whose associated network is not ephemeral
Android7.0/7.1
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConnectivityManager.java
PeriodicScanListener onResults
AllSingleScanListener onResults
PnoScanListener onPnoNetworkFound
handleScanResults
localLog(listenerName + " onResults: start QNS")
mQualifiedNetworkSelector.selectQualifiedNetwork()
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigManager.java
selectQualifiedNetwork
//select best candidate network, return WifiConfiguration
1. if needQualifiedNetworkSelection() return false, then return null
that means: scanDetails=null or isLinkDebouncing
or skipQualifiedNetworkSelectionForAutoConnect(auto connect disabled)
or connecting/disconnecting or WifiConfiguration=null
or not allowed to switch network
or short time pass since last select
or current network is qualified
2. loop for scanDetails
2.1 ssid=null, add to noValidSsid, ignore
2.2 isBlackListed() ignore, addToBlacklist(bssid) will add to blackList
2.3 too weak signal strength add to lowSignalScan, ignore 2.4G level<-85 5G level<-85
2.4 not saved network(add to notSavedScan)or saved but ephemeral, ignore
2.5 calculate the score of each scanresult whose associated network is not ephemeral
0 1
- WifiQualifiedNetworkSelector
- 在Linux/centos下查看网卡型号,如何查看主板型号,CPU/显卡信息,硬盘型号等硬件信息
- 使用maven profile实现多环境可移植构建
- PHP搜索框案例
- 自定义字符串函数:strlen,strcat,strcpy,strcmp
- Java基础学习笔记——数据类型和运算符
- WifiQualifiedNetworkSelector
- 初学HTML
- 视图
- 字符串匹配Sunday算法C++实现
- 软件
- hihoCoder 1288 Font Size 二分
- USACO
- html中如何在页面跳转中传递参数
- 安装bochs debugger GUI