wifip2p重连 android,Android Wifi实现分析

其实现在已经到了android-9了。但是这篇文档写的是android-8而且android-9的变化不是非常大,所以也懒得修改。

一、模块功能分解

wifip2p重连 android,Android Wifi实现分析_第1张图片

老架构,网上找的。8.0以后不一样了。

1. wifi.c没了,所有驱动相关的操作都通过treble架构移交厂商了

2.IPC方式变了,之前是socket与supplicant通信,现在是HIDL抽象的binder方式

3.扫描功能从supplicant中转移到android原生实现。

4.wpa_supplicant.conf去除,保存ap使用wificonfig.xml由android原生管理。(热点也是)

(1)STA

主要功能:

开启->扫描->连接->断开->关闭

显示扫描结果->添加/删除保存AP->AP详细信息显示

间歇扫描->选取连接过的AP->自动重连

次要功能:

降低功耗:修改扫描间隔,自动断开->自动连接

多卡切换->在wifi自动重连(仅在EAP-SIM方式下)

复杂的UI显示

(2)P2P

主要功能:

开启->扫描->连接->断开->关闭

显示永久组

次要功能:

UI相关

(3)SoftAp

主要功能:

开启->扫描->连接->断开->关闭

显示连接设备数量

禁止某AP连接

次要功能:

自动关闭

UI相关

二、wifistatemachine

谷歌在新发布的android-O平台上对framework进行了大量的更改,从wifi部分来看,主要体现在两个部分:

分离部分代码,加强对framework的管制.这有利于降低android系统的碎片化,保证系统性能.

将framework从Java向C++迁移,提升系统整体运行效率.

(1)WifiStatemachine在android-O实现架构变化:

在android-O之前,framework上一共维护了20个状态.其中softAp相关的状态未列出.Android-O上删除了加载驱动相关的状态,将这部分实现迁移到C++部分.驱动加载成功后,会启动wpa_supplicant.图画的不好,凑合看吧

wifip2p重连 android,Android Wifi实现分析_第2张图片

注:

红色部分为在android-O中删除的状态,下面会说这部分的处理在O中的变化,并且讨论变化的原因.

(2)Wifi enable

你可能感兴趣的:(wifip2p重连,android)