Pemindaian jaringan offload (PNO) pilihan Wi-Fi adalah pemindaian Wi-Fi berdaya rendah yang
terjadi secara berkala saat perangkat terputus dari Wi-Fi dan
layar nonaktif. Pemindaian PNO digunakan untuk menemukan dan
terhubung ke jaringan yang tersimpan. Pemindaian ini dijadwalkan oleh framework menggunakan
perintah NL80211_CMD_START_SCHED_SCAN
. Untuk informasi selengkapnya, lihat
nl80211.h.
Mengoptimalkan penggunaan daya dengan informasi mobilitas perangkat
Pada perangkat yang menjalankan Android 9 atau yang lebih rendah, saat perangkat terputus dari Wi-Fi dan layar nonaktif, pemindaian PNO terjadi pada interval 20 detik untuk tiga pemindaian pertama, lalu diperlambat menjadi satu pemindaian setiap 60 detik untuk semua pemindaian berikutnya. Pemindaian PNO berhenti saat jaringan tersimpan ditemukan atau layar diaktifkan.
Android 10 memperkenalkan metode API opsional bernama
setDeviceMobilityState()
di WifiManager
yang meningkatkan interval antar
pemindaian PNO berdasarkan status mobilitas perangkat untuk mengurangi konsumsi daya.
Status mobilitas yang mungkin adalah:
DEVICE_MOBILITY_STATE_UNKNOWN
: Mobilitas tidak diketahuiDEVICE_MOBILITY_STATE_HIGH_MVMT
: Dengan sepeda atau kendaraan bermotorDEVICE_MOBILITY_STATE_LOW_MVMT
: Berjalan kaki atau berlariDEVICE_MOBILITY_STATE_STATIONARY
: Tidak bergerak
Jika perangkat diam, framework Android akan meningkatkan interval antara pemindaian PNO dari 60 detik menjadi 180 detik untuk mengurangi konsumsi daya. Optimalisasi ini dibuat dengan asumsi bahwa perangkat tidak mungkin menemukan jaringan baru dalam pemindaian PNO saat perangkat tidak bergerak.
Jika perangkat dalam status mobilitas lain atau jika metode tidak dipanggil, perangkat akan menggunakan perilaku pemindaian PNO default.
Implementasi
Untuk menerapkan fitur pengoptimalan daya ini di perangkat yang menjalankan Android
10 atau yang lebih tinggi, dapatkan informasi mobilitas perangkat
dan panggil metode setDeviceMobilityState()
dari aplikasi sistem kustom.