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
0 1
原创粉丝点击