Android P WiFi Disable 流程

本文详细介绍了Android P版本中关闭WiFi的流程,从WifiEnabler到WifiNative,涉及的关键代码和步骤包括:通过WifiManager发送指令,WifiService的权限检查,WifiController的状态机处理,WifiStateMachinePrime的处理,以及WifiScaningServiceImpl的善后工作。通过理解这一流程,有助于开发者更好地理解和调试Android P的WiFi功能。
摘要由CSDN通过智能技术生成

流框架程图

Android P 版本变化还是比较大的,代码不再像以前N、L 版本那么好看了,一个简单的wlan0 bring up/down
都封装的一层又一层,所以看代码需要一点技巧,这里将Wifi Disable 的涉及的关键代码以及流程进行总结
期望对各位有帮助~~
老习惯: 先上一张图,有图理这些东西,心不慌~~

  • 可以先参考下 Android P WiFi 框架
  • 老套路基本不变: WifiSettings 通过 WifiManager 下cmd 给 WifiService
  • WifiService 收到cmd后,先完成一部分列行检查(如UID的权限、是否airPlayMode等等),之后将cmd下发给到WifiController
  • WifiController 收到cmd 之后,在内部状态机轮询一圈(就是将cmd送给对应的状态机进行处理,处理完后,送往下一个状态机进行加工),俨然很标准化的流水线工序,完成后再送到WifiStateMachinePrime处理
  • WifiStateMachinePrime 是P 版本新增的Prime状态机,分担了原来WifiStateMachine工作,同样按照标准化流水线工序加工,完成后送到WifiNative,
  • WifiNative是包工头,负责
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值