Pemindaian Offload Jaringan Pilihan Wi-Fi

Pemindaian Wi-Fi Preferred Network Offload (PNO) adalah pemindaian Wi-Fi berdaya rendah yang terjadi secara berkala saat perangkat terputus dari Wi-Fi dan layar mati. Pemindaian PNO digunakan untuk menemukan dan menyambung ke jaringan yang disimpan. Pemindaian ini dijadwalkan oleh kerangka kerja menggunakan perintah NL80211_CMD_START_SCHED_SCAN . Untuk informasi lebih lanjut, lihat nl80211.h .

Mengoptimalkan penggunaan daya dengan informasi mobilitas perangkat

Pada perangkat yang menjalankan Android 9 atau lebih rendah, saat perangkat terputus dari Wi-Fi dan layar mati, pemindaian PNO terjadi pada interval 20 detik untuk tiga pemindaian pertama, lalu melambat menjadi satu pemindaian setiap 60 detik untuk semua pemindaian berikutnya. Pemindaian PNO berhenti ketika jaringan yang disimpan ditemukan atau layar dihidupkan.

Android 10 memperkenalkan metode API opsional bernama setDeviceMobilityState() di WifiManager yang meningkatkan interval antara pemindaian PNO berdasarkan status mobilitas perangkat untuk mengurangi konsumsi daya.

Keadaan mobilitas yang mungkin terjadi adalah:

  • DEVICE_MOBILITY_STATE_UNKNOWN : Mobilitas tidak diketahui
  • DEVICE_MOBILITY_STATE_HIGH_MVMT : Di atas sepeda atau di kendaraan bermotor
  • DEVICE_MOBILITY_STATE_LOW_MVMT : Berjalan atau berlari
  • DEVICE_MOBILITY_STATE_STATIONARY : Tidak bergerak

Jika perangkat tidak bergerak, kerangka kerja Android 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 berada dalam status mobilitas lain atau jika metode tidak dipanggil, perangkat menggunakan perilaku pemindaian PNO default.

Penerapan

Untuk mengimplementasikan fitur pengoptimalan daya ini pada perangkat yang menjalankan Android 10 atau lebih tinggi, dapatkan informasi mobilitas perangkat dan panggil metode setDeviceMobilityState() dari aplikasi sistem kustom.