[android]WIFI热点启动流程分析

本文详细分析了Android系统中开启WIFI热点的功能流程,从设置模块的开关触发,经过框架层、状态机处理,直到驱动加载和配置信息管理,揭示了从用户界面操作到系统内部实现的整个过程。
摘要由CSDN通过智能技术生成

WIFI热点是用软件实现AP的功能,让你的移动设备可以作为一个路由,让别的站点链接,事实上需要硬件以及驱动的支持才能真正的实现这个功能。

在android系统的设置中会有如下界面:


主要的开关代码在设置模块中:

Packages/apps/Settings/src/com/android/settings/TetherSettings.java

|----private void startTethering()

|  |-----mWifiApEnabler.setSoftapEnabled(true);

 

Packages/apps/Settings/src/com/android/settings/wifi/WifiApEnabler.java

|----public void setSoftapEnabled (Booleanenable)

|  |-----mWifiManager.setWifiApEnabled(null,enable);

 

在WifiApEnabler.java中调用了WifiManager.java的setWifiApEnabled()函数,即代码走到了框架层。

frameworks/base/wifi/java/android/net/wifi/WifiManager.java

|----public booleansetWifiApEnabled(WifiConfiguration wifiConfig, boolean enabled)

|    |----mService.setWifiApEnabled(wifiConfig, enabled);

 

IWifiManager.aidl

|----void setWifiApEnabled(WifiConfigurationwifiConfig, boolean enable);

 

frameworks/base/services/java/com/android/server/WifiService.java

|----public void setWifiApEnabled(WifiConfigurationwifiConfig, boolean enabled)

|  |----mWifiController.obtainMessage(CMD_SET_AP, enabled ? 1:0,0,wificonfig ).sendToTarget();

 

frameworks/base/services/java/com/android

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值