Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
概念:
PNO 即Preferred Network Offload,用于系统在休眠的时候连接WiFi
此功能是在Android3.1加入的
缺陷:
在使用PNO时,有潜在泄露个人隐私的风险。这里没明白,意思是说PNO会发送之前的连接过的网络给AP,然后hacker截取?
代码:
当屏幕状态有变化的时候,会调用handleScreenStateChanged(),如果pno功能有enable,就会配置pno,然后再scan.
private void handleScreenStateChanged(boolean screenOn)
{
//亮屏的情况
if (screenOn) {
enableBackgroundScan(false);
setScanAlarm(false);
clearBlacklist();
fullBandConnectedTimeIntervalMilli
= mWifiConfigStore.wifiAssociatedShortScanIntervalMilli.get();
// In either Disconnectedstate or ConnectedState,
// start the scan alarm so as to enable autojoin
//如果当前是连接着的
if (getCurrentState() == mConnectedState
&& allowFullBandScanAndAssociated()) {
//PNO功能是否开启了