WiFi关闭流程

本文详细阐述了在Android系统中关闭WiFi的过程,涉及从Settings应用的`WifiEnabler.java`开始,通过AIDL调用到`WifiServiceImpl.java`,再到`WifiController.java`。在WiFi关闭过程中,`WifiController`进入`StaDisabledState`,然后在`ActiveModeWarden`的状态机中进行操作,调用`ClientModeManager`的`stop()`方法,更新状态为Disabling。最后,`ClientModeStateMachine`退出到初始状态,完成WiFi关闭流程。
摘要由CSDN通过智能技术生成

/android/packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java:

public boolean onSwitchToggled(boolean isChecked) {
	mWifiManager.setWifiEnabled(isChecked)
}

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

public boolean setWifiEnabled(boolean enabled) {
	return mService.setWifiEnabled(mContext.getOpPackageName(), enabled);
}

通过AIDL调用到:
/android/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java:

public synchronized boolean setWifiEnabled2(String packageName, int staId, boolean enable) {
	if (staId == STA_PRIMARY) {
           mWifiController.sendMessage(CMD_WIFI_TOGGLED);//发送CDM_WIFI_TOGGLED消息
       } 
}

/android/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiController.java:
/WifiController收到广播,在Wifi开启的时候,WifiController停留在mStaEna

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值