RK3568 Android 11 ------已保存的WiFi,不自动连接

问题

RK3568 (Android 11),显示已保存的WIFI不会自动重连。

ANDROID 11 新增新特性

背景

多数网络设备在初次连接某个无线网络后会记住密码并在下次自动连接,对多数用户来说这可能是比较好的策略。
毕竟这样不需要用户下次主动查询无线网络再连接,不过苹果倒是很早就在iOS 里提供不自动连接无线网的功能
即针对特定的无线网络热点可以配置不自动连接,只有用户手动检查时点击连接后系统才会连接到这个网络热点。
在安卓系统中提供类似的功能,可以自己配置哪些网络可以自动连接、哪些网络必须用户确认再连接。来增强安全性

设置

Android 11 及以上版本,用户连接某个热点后点击选项,即可在列表里看到自动连接选项。
如果用户无需自动连接到这个热点的话则关闭自动连接即可,该功能无法批量操作只能挨个对已知热点进行配置。
在这里插入图片描述

功能好处

实际上这主要用来规避用户连接公共无线网的。
目前许多大型场所例如商城、餐厅、影院等都提供公共无线网络供用户使用,这类公共无线网络安全性相对较差。
理论上说用户在尝试某些对安全性较高的操作时不应连接这类公共无线网络,因为可能会有被中间人劫持的风险。
当然另一方面现在蜂窝网络和数据流量可能都比较充足,若注重安全的话请直接使用数据流量不要使用公共网络。

自连机制

查看网络状态

显示已保存说明连接的WIFI信息已经保存,Android 11连接的WIFI信息保存在该文件/data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
查看该文件的网络状态选项
在这里插入图片描述

show me code

handle 扫描结果 一个回调
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConnectivityManager.java

private boolean handleScanResults(List<ScanDetail> scanDetails, String listenerName,boolean isFullScan) {
   
        mWifiChannelUtilization.refreshChannelStatsAndChannelUtilization(
                mStateMachine.getWifiLinkLayerStats(), WifiChannelUtilization.UNKNOWN_FREQ);

        updateUserDisabledList(scanDetails);

 ...
        localLog(listenerName + " onResults: start network selection");

        List<WifiCandidates.Candidate> candidates = mNetworkSelector.getCandidatesFromScan(
                scanDetails, bssidBlocklist, mWifiInfo, mStateMachine.isConnected(),
                mStateMachine.isDisconnected()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lin_AIOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值