文章目录
流框架程图
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是包工头,负责