Pemindaian Wi-Fi {i>network offload<i} (PNO) adalah pemindaian Wi-Fi berdaya rendah yang
terjadi pada interval yang teratur ketika perangkat terputus dari Wi-Fi dan
layar mati. Pemindaian PNO digunakan untuk menemukan dan
menyambungkan ke jaringan yang tersimpan. Pemindaian ini dijadwalkan oleh framework menggunakan
Perintah NL80211_CMD_START_SCHED_SCAN
. Untuk informasi selengkapnya, lihat
nl80211.h.
Optimalkan penggunaan daya dengan informasi mobilitas perangkat
Di perangkat yang menjalankan Android 9 atau yang lebih rendah, saat perangkat terputus dari Wi-Fi dan layar mati, pemindaian PNO terjadi pada 20 detik interval untuk tiga pemindaian pertama, lalu perlambat menjadi satu pemindaian setiap 60 detik untuk semua pemindaian berikutnya. Pemindaian PNO berhenti ketika jaringan yang tersimpan ditemukan atau layar dihidupkan.
Android 10 memperkenalkan metode API opsional bernama
setDeviceMobilityState()
dalam WifiManager
yang meningkatkan interval antara
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
: Naik sepeda atau kendaraan bermotorDEVICE_MOBILITY_STATE_LOW_MVMT
: Berjalan 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 daya pengguna. Pengoptimalan ini dibuat dengan asumsi bahwa perangkat tersebut kemungkinan tidak menemukan jaringan baru dalam pemindaian PNO ketika perangkat tidak bergerak.
Jika perangkat dalam keadaan mobilitas lain atau jika metode tidak dipanggil, menggunakan perilaku pemindaian PNO {i>default<i}.
Implementasi
Untuk menerapkan fitur pengoptimalan daya ini pada perangkat yang menjalankan Android
10 atau lebih tinggi, dapatkan informasi mobilitas perangkat
dan memanggil metode setDeviceMobilityState()
dari aplikasi sistem kustom.