Skanowanie w ramach odciążania wybranej sieci Wi-Fi

Skanowanie sieci preferowanej (PNO) to skanowanie sieci Wi-Fi o niskiej mocy, które odbywa się w określonych odstępach czasu, 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.

Optymalizacja zużycia energii dzięki informacjom o mobilności urządzenia

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()WifiManager, która zwiększa odstęp między skanami PNO na podstawie stanu mobilności urządzenia, aby zmniejszyć zużycie energii.

Możliwe stany mobilności:

  • DEVICE_MOBILITY_STATE_UNKNOWN: Nieznana mobilność
  • DEVICE_MOBILITY_STATE_HIGH_MVMT: Na rowerze lub w pojazdach mechanicznych
  • DEVICE_MOBILITY_STATE_LOW_MVMT: Pieszo lub biegając
  • DEVICE_MOBILITY_STATE_STATIONARY: Nie przemieszcza 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. Ta optymalizacja jest przeprowadzana z założenia, że urządzenie prawdopodobnie nie znajdzie żadnych nowych sieci podczas skanowania PNO, gdy nie porusza się ono.

Jeśli urządzenie znajduje się w innym stanie mobilności lub metoda nie została wywołana, urządzenie używa domyślnego zachowania 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.