Android 12 WiFi开启流程

本文详细介绍了Android 12系统中开启WiFi的流程,从`ActiveModeWarden`到`startHal`,涉及多个关键组件如`WifiManager`, `WifiServiceImpl`, `ConcreteClientModeManager`等,以及硬件接口`IWifi.hal`和`wifi.cpp`的交互。深入理解Android 12 WiFi开启的步骤和机制。" 122217423,11675501,HTML+CSS模仿W3C首页实践,"['HTML', 'CSS', '前端框架']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /*                                           ActiveModeWarden
 *                                      /                        \
 *                                     /                          \
 *                        ConcreteClientModeManager         DefaultClientModeManager
 *                      (Client Mode + Scan Only Mode)            (Wifi off)
 *                             /            \
 *                           /               \
 *                     ClientModeImpl       ScanOnlyModeImpl
 */
一、startHal
packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java
frameworks/base/wifi/java/android/net/wifi/WifiManager.java
packages/modules/Wifi/service/java/com/android/server/wifi/WifiServiceImpl.java
packages/modules/Wifi/service/java/com/android/server/wifi/ActiveModeWarden.java
packages/modules/Wifi/service/java/com/android/server/wifi/ConcreteClientModeManager.java
packages/modules/Wifi/service/java/com/android/server/wifi/WifiNative.java
packages/modules/Wifi/service/java/com/android/server/wifi/WifiVendorHal.java
packages/modules/Wifi/service/java/com/android/server/wifi/HalDeviceManager.java

WifiEnabler.java ->mWifiManager.setWifiEnabled(isChecked)
---->WifiManager.java =>setWifiEnabled(boolean enabled)
--------->WifiServiceImpl.java =>setWifiEnabled(String packageName, boolean enable): mActiveModeWarden.wifiToggled(new WorkSource(Binder.getCallingUid(), packageName));
-------------->ActiveModeWarden.java =>wifiToggled(WorkSource requestorWs): mWifiController.sendMessage(WifiController.CMD_WIFI_TOGGLED, requestorWs);//发送CMD_WIFI_TOGGLED消息到EnabledState中
                                      -->ActiveModeWarden$DisabledState
                                         ->processMessageFiltered(Message msg)
                                           -->case CMD_WIFI_TOGGLED
                                              handleStaTogg
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值