![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android WIFI
文章平均质量分 87
不冬眠的熊
这个作者很懒,什么都没留下…
展开
-
Android 9.0 开机后打开Wifi流程和Wifi状态值的保存
Android 9.0 Wifi开关状态值的保存和开机后打开Wifi的流程 我们在Android系统关开机之后会发现Wifi仍然保持着上一次关机时的状态,而且是进入home界面之后Wifi就会自动打开。我们就会想Wifi开关状态是保存在哪里呢?有是谁去打开Wifi的呢?是Settings应用呢还是在Launcher呢;下面我们就简单分析Wifi开关状态值是保存逻辑和开机后打开Wifi的流程。一、Wifi开关状态值是保存我们每次打开关闭wifi都需要调用WifiManger.setWifi...原创 2021-02-23 20:19:44 · 2430 阅读 · 0 评论 -
Android 9.0 Wifi打开流程
Android 9.0 Wifi开启执行流程代码具体执行流程:WifiManager.java路径:framework/base/wifi/java/android/net/wifi/WifiManager.javaWifiManager.setWifiEnabled()设置WIFI开启。WifiServiceImpl.java路径:/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceI原创 2020-12-09 22:23:22 · 1654 阅读 · 0 评论 -
Android WiFi 基本框架
Android WiFi 基本框架本文很简单,就是一个简单的框架流程图。WIFI模块 的主要框架图:原创 2020-12-09 22:17:06 · 2605 阅读 · 0 评论 -
Android WifiSettings页面WIFI状态更新过程
我们在WiFiSettings界面连接WiFi的时候会看到WiFi Preference的summary状态会从正在连接切换到获取ip再切换到已连接的状态,这一篇就分析状态更新过程。一、 WifiTracker.java 我们知道WifiSettings是监听了WifiTracker 的onAccessPointsChanged()来刷新状态的。我们先分析下哪里调用了onAccessPointsChanged()。再看下哪里调用了conditionallyNotifyListeners()。原创 2020-12-19 11:27:29 · 2914 阅读 · 1 评论 -
Android 9.0 Wifi连接AP后显示IP地址流程
这一篇分析Wifi连接AP后显示IP地址流程,AP连接成功后wpa_supplicant会上报连接状态到SupplicantStaIfaceHal。所以就从SupplicantStaIfaceHal开始。1 SupplicantStaIfaceHal.java收到状态改变后通过WiFiMonitor上报的事件2 wifiMonitr.java这里是发送消息NETWORK_CONNECTION_EVEN。WifiStateMachine接收处理消息。3 WifiStateMachi原创 2020-12-19 10:47:50 · 1113 阅读 · 1 评论 -
Android 9.0 WiFi 状态机总结
一、 工作原理简述状态机就是一个定义了很多状态的机器,它收到消息后,会根据消息来切换这个机器的状态。状态机中的每一个状态是由State类的实例表示,State实例必须实现processMessage方法用来处理消息。并且可选的实现enter/exit/getName三个方法,enter/exit 等价于类的构造方法和销毁方法。start方法启动状态机。addState方法给状态机添加状态。enter方法初始化初始状态。执行完了start方法后状态机就可以接收处理消息了。当消息到来以后,当前状态就会调原创 2020-12-19 10:14:31 · 1218 阅读 · 1 评论 -
Android 9.0 Wifi关闭流程
这一篇简单分析IWifi关闭的代码执行流程。1、分享一张Wifi关闭的大致流程图2、代码执行过程2.1 WifiManager.java2.2 WifiServiceImpl.java这里发送了CMD_WIFI_TOGGLED消息到WifiController。2.3 WifiController2.4 WifiStateMachinePrime.java这里主要做了两个操作:1. 发送了广播WIFI_SCAN_AVAILABLE;2.清除原创 2020-12-19 10:07:02 · 1403 阅读 · 1 评论 -
Android 9.0 Wifi断开AP过程
本文对WIFI断开已连接的AP过程进行分析,整个过程分为发送断开AP的命令和断开AP执行结果上报两个部分。一 、发送断开AP的命令1.1 WifiManager.java1.2 WifiServiceImpl.java1.3 WifiStateMachine.java1.4 WifiNative.java1.5 SupplicantStaIfaceHal.java这里下发断开指令到底层断开AP连接。下面再看下AP断开状态上报。二 、断开AP执行结果的上原创 2020-12-10 20:07:43 · 1682 阅读 · 0 评论 -
Android 9.0 Wifi连接AP过程
本文分析的是首次连接AP(没有保存参数的AP)的过程。这里分析连接AP(没有保存参数的AP)的过程。1 代码执行的简易流程图2 代码流程2.1 Settings应用2.2 WifiManager.java通过异步通道AsyncChannel来调用WifiServiceImpl的ClientHandler来处理SAVE_NETWORK消息。2.3 WifiServiceImpl.javamWifiStateMachine.sendMessage发送消息直接让Wi原创 2020-12-10 19:57:19 · 3323 阅读 · 0 评论 -
Android 9.0 WiFi 扫描结果上报和获取流程
本文是对wifi扫描结果上报和获取过程的代码逻辑分析总结。wifi扫描结果分为成功和失败。我们这里先分析扫描成功的上报和获取过程。WiFi扫描成功的上报和获取大致是由三条不连贯流程组成的,分别是通知framework和WifiTracker获取扫描结果以及应用主动获取扫描结果。1、framework获取保存扫描结果。大致的流程为:WificondControl-->WifiMonitor--> WificondScannerImpl-->WifiNative;2、WifiT原创 2020-12-09 23:19:46 · 3428 阅读 · 0 评论 -
Android 9.0 Wifi打开后的自动扫描流程
我们开启Wifi都是点击一下wifi开关会完成两件事情(1. 开启wifi,2. 扫描周围热点),本文就是分析一下Wifi开启后自动扫描出周围的热点的代码执行逻辑。先看下大概的流程图:图片来源于https://blog.csdn.net/liluo2013/article/details/85267691ClientModeManager.java在前面的WIFI开启过程中在ClientModeStateMachine类中执行调用打开Wifi后还把状态转换到StartedState。我们原创 2020-12-09 22:35:12 · 1735 阅读 · 0 评论 -
Android 9.0 WifiService启动流程
Android 9.0 WifiService启动流程主要通过代码的执行流程简单的分析了WifiService的启动流程。1. WifiService的启动简单时序图表示:接下来看下具体的代码实现逻辑:2. WifiService代码执行流程SystemService.java路径:frameworks/base/services/java/com/android/server/SystemServer.javaWifiService是在SystemServer.java的原创 2020-12-09 22:13:49 · 1704 阅读 · 0 评论 -
Android 9.0 Framwork Wifi源码学习目录
Android 9.0 WifiService启动WifiService的启动简单时序图表示:1.1、启动WifiService在SystemServer.java的 startOtherServices() 方法中,启动了WifiService,代码如下frameworks/base/services/java/com/android/server/SystemServer.javaframeworks/base/services/core/java/com/android..原创 2020-11-03 18:06:26 · 1305 阅读 · 0 评论