android 4.2
1.WifiStateMachine
mFrameworkScanIntervalMs //300s SCAN_PASSIVE
mSupplicantScanIntervalMs //60s SCAN
2.WifiSettings
WIFI_RESCAN_INTERVAL_MS //10s SCAN_ACTIVE
3.scanInterval 间隔会往下发送Scan command.
cmd:SCAN
wpa_supplicant_req_scan
wpa_supplicant_scan
reply:OK
//send
wpa_supplicant_scan
wpa_supplicant_trigger_scan
wpa_drv_scan
wpa_driver_nl80211_scan
nl80211_scan_common
(kernel AF_NETLINK)genl_rcv_msg (genl_ops.cmd NL80211_CMD_TRIGGER_SCAN)
nl80211_trigger_scan
//recv
wpa_driver_nl80211_event_receive
process_global_event
do_process_drv_event(NL80211_CMD_NEW_SCAN_RESULTS)
send_scan_event
wpa_supplicant_event(EVENT_SCAN_RESULTS)
wpa_supplicant_event_scan_results
4.WifiMonitor
监听事件:CTRL-EVENT-SCAN-RESULTS
WifiSettings recv: SCAN_RESULTS_AVAILABLE_ACTION,更新wifi列表