推广网站有那些,上传WordPress之后,做网站 花园路国贸,物流系统规划课程建设网站Android14 WPA2和WPA3 类型的WiFi网络连接 文章目录 Android14 WPA2和WPA3 类型的WiFi网络连接一、前言二、源码分析1、Android原生Settings 连接WPA 和WPA3 网络的配置代码 三、其他1、WPA/WPA2和WPA3连接小结2、WPA配置无法连接WPA3的网络的情况Android11 Wifi 加密类型详解 …Android14 WPA2和WPA3 类型的WiFi网络连接 文章目录 Android14 WPA2和WPA3 类型的WiFi网络连接一、前言二、源码分析1、Android原生Settings 连接WPA 和WPA3 网络的配置代码 三、其他1、WPA/WPA2和WPA3连接小结2、WPA配置无法连接WPA3的网络的情况Android11 Wifi 加密类型详解 一、前言
Android WiFi网络类型常用就是WPA/PA2Android10之后很多手机支持了WPA3 网络的连接和热点WPA3类型设置。
开发过程中是有遇到WPA3网络无法连接的问题之前方案WPA3网络是可以用WPA2的配置连接成功的但是Android14的MTK方案上不行了。
本文的分析处理事对自己设置应用上的优化原生设置应用是可以正常连接WPA3 网络。
二、源码分析
1、Android原生Settings 连接WPA 和WPA3 网络的配置代码
packages\apps\Settings\src\com\android\settings\wifi\WifiConfigController2.java
public WifiConfiguration getConfig() {WifiConfiguration config;...case WifiEntry.SECURITY_PSK: //WPA、WPA2if (mWifiEntry null || !mWifiEntry.isSaved()) {config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);}if (mPasswordView.length() ! 0) {String password mPasswordView.getText().toString();if (password.matches([0-9A-Fa-f]{64})) {config.preSharedKey password;} else {config.preSharedKey password ;}}break;case WifiEntry.SECURITY_SAE: //WPA3if (mWifiEntry null || !mWifiEntry.isSaved()) {config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);}if (mPasswordView.length() ! 0) {String password mPasswordView.getText().toString();config.preSharedKey password ;}break;...return config;
}
从原生代码可以看到WPA2和WPA3 需要校验和配置的信息是不同的。
所以如果自己应用总WPA3的网络使用WPA的配置无法连接成功就设置WPA3的网络配置信息吧。
三、其他
1、WPA/WPA2和WPA3连接小结
正常情况下 使用WPA的网络配置是可以正常连接WPA3网络的 但是使用WPA3的网络配置是无法正常连接WPA网络的 因为WPA3比WPA校验的东西多一下会出现校验失败无法连接的情况。 而使用WPA校验只是校验配置项少了不影响连接。
如果WPA3的网络使用WPA的配置无法连接成功就设置WPA3的网络配置信息吧。
2、WPA配置无法连接WPA3的网络的情况
目前看只有Android14 MTK 9679 的wifi使用WPA配置无法连接WPA3的网络。 其他Android14方案比如RK3588和AML311D2 都是可以使用 WPA配置正常连接WPA3的网络的。
这个可能和内核驱动Google patch更新有关。因为都有坐了更新修改。
Android11 Wifi 加密类型详解
之前Android11 写的wifi加密类型介绍Android13 以后依然是差不多的
https://blog.csdn.net/wenzhi20102321/article/details/126219495