Skanowanie sieci preferowanych (PNO) to skanowanie sieci Wi-Fi o niskim poborze mocy, które odbywa się regularnie, gdy urządzenie jest odłączone od sieci Wi-Fi i ma wyłączony ekran. Skanowanie PNO służy do znajdowania zapisanych sieci i łączenia się z nimi. Te skanowania są planowane przez platformę za pomocą polecenia NL80211_CMD_START_SCHED_SCAN
. Więcej informacji znajdziesz w pliku nl80211.h.
Optymalizuj zużycie energii dzięki informacjom o mobilności urządzeń
Na urządzeniach z Androidem 9 lub starszym, gdy urządzenie jest odłączone od sieci Wi-Fi i ekran jest wyłączony, skanowanie PNO odbywa się co 20 sekund przez pierwsze 3 skanowania, a potem co 60 sekund przez wszystkie kolejne skanowania. Skanowanie PNO zostaje zatrzymane, gdy zostanie znaleziona zapisana sieć lub włączony ekran.
Android 10 wprowadza opcjonalną metodę interfejsu API o nazwie setDeviceMobilityState()
w WifiManager
, która zwiększa interwał między skanami PNO na podstawie stanu mobilności urządzenia w celu zmniejszenia zużycia energii.
Możliwe stany mobilności:
DEVICE_MOBILITY_STATE_UNKNOWN
: Nieznana mobilnośćDEVICE_MOBILITY_STATE_HIGH_MVMT
: Na rowerze lub w pojazdach mechanicznychDEVICE_MOBILITY_STATE_LOW_MVMT
: Spacer lub biegDEVICE_MOBILITY_STATE_STATIONARY
: nie przesuwa się
Jeśli urządzenie jest nieruchome, platforma Android zwiększa interwał między skanami PNO z 60 do 180 sekund, aby zmniejszyć zużycie energii. Optymalizację przyjęto przy założeniu, że urządzenie prawdopodobnie nie znajdzie żadnych nowych sieci w skanach PNO, gdy urządzenie nie jest w ruchu.
Jeśli urządzenie jest w dowolnym innym stanie mobilności lub metoda nie została wywołana, urządzenie używa domyślnego działania skanowania PNO.
Implementacja
Aby wdrożyć tę funkcję optymalizacji zużycia energii na urządzeniu z Androidem 10 lub nowszym, pobierz informacje o mobilności urządzenia i wywołaj metodę setDeviceMobilityState()
w niestandardowej aplikacji systemowej.