Izin Lokasi Tiga Negara Bagian

Izin lokasi tiga negara bagian di Android 10 memberi pengguna lebih banyak kontrol atas cara aplikasi mengakses lokasi perangkat mereka.

Di Android 9 dan yang lebih rendah, pengguna membuat pilihan terus-menerus saat memberikan akses lokasi ke aplikasi. Mereka dapat Deny atau Allow , yang terakhir memberikan akses aplikasi sepanjang waktu (latar depan dan latar belakang). Izin lokasi tiga negara bagian di Android 10 memberi pengguna tiga opsi untuk mengizinkan akses aplikasi ke lokasi perangkat. Pengguna diminta untuk memberikan atau menolak tingkat izin saat aplikasi memintanya.

Seorang pengguna biasanya melihat tiga pilihan yang disajikan pada Gambar 1. Namun, ada kasus penggunaan di mana hanya dua dari opsi ini yang diperlukan, dan dalam kasus seperti itu hanya dua yang ditampilkan.

Tristate location permissions screen
Gambar 1. Layar notifikasi tiga negara bagian

Ini adalah tiga opsi:

  • Izinkan sepanjang waktu : lokasi perangkat diketahui oleh aplikasi bahkan saat aplikasi tidak digunakan (berjalan di latar belakang). Ini setara dengan mengizinkan izin di Android 9 dan yang lebih rendah.
  • Izinkan hanya saat aplikasi sedang digunakan : (hanya latar depan) lokasi perangkat hanya terlihat oleh aplikasi saat sedang aktif berjalan.
  • Tolak : lokasi perangkat tidak pernah terlihat oleh aplikasi. Ini sama dengan menolak izin di Android 9 dan yang lebih rendah.

Pengguna diminta untuk memberikan izin akses lokasi saat aplikasi meminta izin.

Setelah pengguna memberikan Izinkan hanya saat aplikasi sedang menggunakan izin akses, aplikasi dapat meminta peningkatan akses tambahan ke Izinkan sepanjang waktu . Pengguna melihat dialog permintaan (ditunjukkan pada Gambar 2 ). Jika pengguna memilih Simpan akses saat digunakan , saat aplikasi mengakses lokasi perangkat pada penggunaan berikutnya, dialog menyediakan opsi untuk Simpan dan jangan tanya lagi .

Dialog muncul dalam kondisi berikut untuk aplikasi yang menargetkan Android 10:

  • Setelah setidaknya 24 jam memberikan izin.
  • Hanya jika aplikasi menerima lokasi di latar belakang.
  • Saat layar menyala, dan pengguna tidak menggunakan aplikasi lain.
Incremental permissions
Gambar 2. Izin tambahan

Untuk mempelajari lebih lanjut tentang meminta izin, lihat Akses aplikasi ke lokasi perangkat . Untuk mengetahui detail jika aplikasi Anda menargetkan Android 9 dan yang lebih rendah, lihat Kelanjutan tindakan yang dimulai pengguna .

Dampak

Fitur izin lokasi tiga negara bagian memengaruhi aplikasi apa pun yang memerlukan akses lokasi perangkat saat berjalan di latar belakang, dan diperlukan di Android 10.

Anda dapat mengubah kode Anda tetapi Anda tidak boleh mengubah atau menyesuaikan perilaku terkait izin dalam kerangka kerja.

Penerapan

Izin lokasi tiga negara bagian diterapkan ke aplikasi di Android 10 terlepas dari SDK target aplikasi.

Untuk informasi tentang penerapan kasus penggunaan aplikasi Anda (tentang pemutakhiran), lihat bagian Desain untuk skenario pemutakhiran perangkat dalam dokumentasi pengembang.

Untuk melihat cara mengaktifkan akses untuk kasus penggunaan yang berbeda (seperti memerlukan akses lokasi latar belakang untuk aplikasi seperti Google Maps atau layanan Google Play), lihat topik ini di halaman Akses aplikasi ke lokasi perangkat :

Akses lokasi dalam aplikasi

Pengguna dapat mengubah izin akses aplikasi Anda menjadi Tolak atau Izinkan hanya saat menggunakan aplikasi jika mereka mau. Untuk izin akses lokasi dalam aplikasi, dan untuk semua aplikasi pihak pertama dan ketiga, berikan tingkat kontrol pengguna yang diberikan dalam tabel berikut.

Aplikasi jenis izin perlu meminta Opsi pengguna untuk disediakan
Aplikasi hanya meminta izin latar depan Izinkan hanya saat menggunakan aplikasi
Membantah
Aplikasi selalu meminta izin (latar depan dan latar belakang) Biarkan sepanjang waktu
Izinkan hanya saat menggunakan aplikasi
Membantah
Semua aplikasi dengan permintaan akses lokasi Izinkan hanya saat menggunakan aplikasi

Izin ini berlaku untuk semua permintaan lokasi. Aplikasi dengan Izinkan hanya saat menggunakan izin aplikasi tidak diizinkan Wi-Fi latar belakang atau pemindaian seluler.

Di Android 11 atau lebih rendah, aplikasi dengan Izinkan hanya saat menggunakan izin aplikasi tidak diizinkan untuk memindai Bluetooth latar belakang. Dari Android 12, aplikasi dengan Izinkan hanya saat menggunakan izin aplikasi dapat memperoleh hasil pemindaian Bluetooth dengan menyetel nilai atribut android:usesPermissionFlags ke neverForLocation . Untuk detail selengkapnya, lihat Aplikasi tidak mendapatkan lokasi fisik .

Peningkatan OS

Pada peningkatan OS ke Android 10, izin lokasi aplikasi diterjemahkan sesuai dengan yang berikut:

  • Aktif menjadi Izinkan hanya saat digunakan .
  • Mati tetap mati ( Deny ).
  • Akses lokasi pra-hibah menjadi Izinkan hanya saat digunakan pra-hibah.