Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
当上一次有连接过wifi,下次开机默认wifi有打开的情况下,系统会自动连接上最佳的无线网络。
手动连接和选择最优网络前面有提过了,这里给出自动连接的流程。
流程:
processMessage -> //SupplicantStartedState, 起来后会获取scan resulut: cmd:WifiMonitor.SCAN_RESULTS_EVENT
setScanResults ->
mWifiAutoJoinController.newSupplicantResults -> //attemptAutoJoin为true,设置里手动连接的时候是false
newSupplicantResults -> WifiAutoJoinController.java
attemptAutoJoin -> //Wifi的auto join机制
compareWifiConfigurations //如果之前有连过多个无线网络,会根据评分规则以及用户选择得到最优网络
mWifiStateMachine.sendMessage -> //发送自动连接给wifi状态机WifiStateMachine.CMD_AUTO_CONNECT
processMessage -> //ConnectModeState,当前状态是DisconnectedState,上面SupplicantStartedState和这里的状态只是父类调用而已