Wi-Fi 偏好網路卸載 (PNO) 掃描功能是低耗電的 Wi-Fi 掃描功能,
會定期連線,當裝置的 Wi-Fi 連線中斷時,
螢幕已關閉。PNO 掃描會用來尋找
連線至已儲存的網路。這些掃描作業是由架構使用
NL80211_CMD_START_SCHED_SCAN
指令。若需更多資訊,請參閲
nl80211.h。
根據裝置行動性資訊,將耗電量最佳化
在搭載 Android 9 以下版本的裝置上,且 已中斷與 Wi-Fi 的連線,且螢幕關閉,正在進行 PNO 掃描作業:20 秒 前三項掃描作業的間隔時間,然後減緩每隔 60 秒掃描一次 定義所有後續掃描作業找到已儲存的網路或找到已儲存的網路時,系統會停止掃描網路訊號 螢幕就會開啟
Android 10 導入了選用 API 方法的
setDeviceMobilityState()
WifiManager
,這會增加
PNO 功能會根據裝置的行動性狀態掃描以降低耗電量。
可能的移動性狀態如下:
DEVICE_MOBILITY_STATE_UNKNOWN
: 活動度不明DEVICE_MOBILITY_STATE_HIGH_MVMT
: 在腳踏車或汽車上DEVICE_MOBILITY_STATE_LOW_MVMT
: 步行或跑步DEVICE_MOBILITY_STATE_STATIONARY
: 未偵測到活動
如果裝置處於靜止狀態,Android 架構會增加 從 60 秒到 180 秒掃描 PNO 的時間,藉此減少耗電量 提高用量上限這項最佳化功能是假設裝置 在裝置靜止不動時,可能就無法在 PNO 掃描中找到任何新網路。
如果裝置處於任何其他行動狀態,或是未呼叫該方法, 裝置便會使用預設的 PNO 掃描行為。
實作
為了在搭載 Android 的裝置上實作這項省電功能
10 以上,取得裝置行動裝置資訊
再從自訂系統應用程式呼叫 setDeviceMobilityState()
方法。