Wi-Fi 首選網絡卸載掃描

Wi-Fi 首選網絡卸載 (PNO) 掃描是低功率 Wi-Fi 掃描,當設備與 Wi-Fi 斷開連接且屏幕關閉時,會定期進行。 PNO 掃描用於查找並連接到已保存的網絡。這些掃描由框架使用NL80211_CMD_START_SCHED_SCAN命令安排。有關詳細信息,請參閱nl80211.h

利用設備移動信息優化電源使用

在運行 Android 9 或更低版本的設備上,當設備與 Wi-Fi 斷開連接且屏幕關閉時,前 3 次掃描以 20 秒的間隔進行 PNO 掃描,然後在所有後續掃描中減慢至每 60 秒掃描一次。當找到已保存的網絡或屏幕打開時,PNO 掃描停止。

Android 10 在WifiManager中引入了一個名為setDeviceMobilityState()的可選 API 方法,該方法根據設備的移動狀態增加 PNO 掃描之間的間隔以降低功耗。

可能的移動狀態是:

  • DEVICE_MOBILITY_STATE_UNKNOWN :未知的移動性
  • DEVICE_MOBILITY_STATE_HIGH_MVMT :在自行車或機動車輛上
  • DEVICE_MOBILITY_STATE_LOW_MVMT :步行或跑步
  • DEVICE_MOBILITY_STATE_STATIONARY :不動

如果設備是靜止的,Android 框架會將 PNO 掃描之間的間隔從 60 秒增加到 180 秒以降低功耗。此優化是在設備不移動時設備不太可能在 PNO 掃描中找到任何新網絡的假設下進行的。

如果設備處於任何其他移動狀態或未調用該方法,則設備將使用默認 PNO 掃描行為。

執行

要在運行 Android 10 或更高版本的設備上實現此電源優化功能,請派生設備移動信息並從自定義系統應用調用setDeviceMobilityState()方法。