WIFI 启动过程

wifi启动过程:

wifi 状态机: WifiController 和 WifiStateMachine 管理wifi状态和状态切换
WifiControlller负责wpa_supplicant接收事件 并让WifiStateMachine交互 最终调用wifiNative和wpa_supplicant交互。

SystemServer startOtherServices() WifiService()  在SystemServer.java中的startOtherServices()方法中启动WifiService
目录: //frameworks/base/services/java/com/android/server/SystemServer.java
目录://frameworks/base/services/core/java/com/android/server/SystemServiceManager.java
SystemServer  启动四个相关服务:WifiP2pService WifiService WifiScanningService扫描附件热点 RttService 以太网服务
WifiService    WifiServiceImpl()
目录://frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiService.java
wifiService新建wifiserviceImpl实例是管理服务的真正实现者 还是调用ServiceManager.addService方法发布服务
WifiServiceImpl 
目录://frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java
实例mWifiStateMachine wifi状态机定义wifi状态消息驱动状态变化
实例WifiStateMachineHandler用于发送和处理wifi状态机相关消息。
获取mBatteryStats mPowerManager实例wifi电源管理
实例mNotificationController 
实例wifiThread HandlerThread实例 wifiThread一直监听消息 通过mClientHandler的handleMessage来处理消息
实例mWifiController wifi设备状态 wifi热点开关状态 驱动加载或启动supplicant

 

你可能感兴趣的:(WIFI 启动过程)