Android P WiFi 框架 以及 Enable相关流程

本文介绍了Android P中WiFi框架的改变,包括新增的WifiStateMachinePrime和ClientModeManager,详细阐述了从WifiSettings开启WiFi到WifiNative启动wpa_supplicant的整个流程,涉及WifiController、WifiNative与wificond的交互。
摘要由CSDN通过智能技术生成

Android P WiFi 框架

Android P相比于Android O的变化

  • 多了WifiStateMachinePrime(状态机的前处理机制),wifiService的相关cmd 不再是直接send 给WifiStateMachine,而是被送到WifiStateMachinePrime先进行处理后,再送往WifiStateMachine
  • 也多了一层ClientModeManager处理(将之前初始化wpa_supplicant专门抽出一层类在这里面来做),详细看后面的代码

Wifi 整体流程框架图

  • 基本与Android O Wifi 主体框架一致
  • 三板斧的套路还是被传承下来(1. Application <–> 2. WiFiService(WifiStateMachine) <–> 3. WifiNative(wpa_supplicant – wlan drv))

在这里插入图片描述

代码流程

1. WifiSettings --> WifiManager

点击 wifi button 开启wifi 触发的代码流程如下,

  • wifiSettings 响应onPreferenceTreeClick 送往WifiEnable
  • WifiEnabler 根据传入的状态,call WifiManager 设置wifi状态 (开启跳转到WifiServiceImpl)
packages/apps/Settings/src/com/android/settings/wifi/WifiSettings.java
 public boolean onPreferenceTreeClick(Preference preference){
  ..... 
  return super.onPreferenceTreeClick(preference);
 }

packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java
public boolean onSwitchToggled(boolean isChecked){
.... 
mWifiManager.setWifiEnabled(isChecked); // wifiManager 设置wifi 状态
}

2. WifiManager --> WifiService --> WifiServiceImpl -->WifiController

  • 还是老套路,逐级进入WifiService,WifiSe
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值