Izin akses lokasi Tristate

Izin akses lokasi tri-status di Android 10 memberi pengguna kontrol lebih besar atas cara aplikasi mengakses lokasi perangkat mereka.

Di Android 9 dan yang lebih lama, pengguna membuat pilihan yang persisten saat memberikan akses lokasi ke aplikasi. Pengguna dapat Menolak atau Mengizinkan, yang terakhir memberi aplikasi akses sepanjang waktu (latar depan dan latar belakang). Izin lokasi tiga status di Android 10 memberi pengguna tiga opsi untuk mengizinkan aplikasi mengakses lokasi perangkat. Pengguna akan diminta untuk memberikan atau menolak tingkat izin saat aplikasi memintanya.

Pengguna biasanya melihat tiga pilihan yang ditampilkan dalam Gambar 1. Namun, ada kasus penggunaan yang hanya memerlukan dua opsi ini, dan dalam kasus tersebut, hanya dua opsi tersebut yang ditampilkan.

Layar izin akses lokasi tiga status

Gambar 1. Layar notifikasi tiga status.

Berikut adalah tiga opsi tersebut:

  • Izinkan sepanjang waktu: lokasi perangkat diketahui oleh aplikasi meskipun aplikasi tidak digunakan (berjalan di latar belakang). Hal ini setara dengan mengizinkan izin di Android 9 dan yang lebih rendah.
  • Izinkan hanya saat aplikasi digunakan: (khusus latar depan) lokasi perangkat hanya dapat dilihat oleh aplikasi saat aplikasi berjalan secara aktif.
  • Tolak: lokasi perangkat tidak pernah terlihat oleh aplikasi. Hal ini sama dengan menolak izin di Android 9 dan yang lebih lama.

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

Setelah pengguna memberikan izin akses Izinkan hanya saat aplikasi digunakan, aplikasi dapat meminta peningkatan akses secara bertahap ke Izinkan setiap saat. Pengguna akan melihat dialog permintaan (ditampilkan dalam Gambar 2). Jika pengguna memilih Simpan akses saat digunakan, saat aplikasi mengakses lokasi perangkat pada penggunaan berikutnya, dialog akan memberikan opsi untuk Simpan dan jangan tanya lagi.

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

  • Setelah setidaknya 24 jam sejak izin diberikan.
  • Hanya jika aplikasi menerima lokasi di latar belakang.
  • Saat layar menyala, dan pengguna tidak menggunakan aplikasi lain.
Izin inkremental

Gambar 2. Izin inkremental.

Untuk mempelajari lebih lanjut cara meminta izin, lihat Akses aplikasi ke lokasi perangkat. Untuk mengetahui detailnya jika aplikasi Anda menargetkan Android 9 dan yang lebih lama, lihat Lanjutan tindakan yang dimulai pengguna.

Dampak

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

Anda dapat mengubah kode, tetapi tidak boleh mengubah atau menyesuaikan perilaku terkait izin dalam framework.

Implementasi

Izin lokasi tri-state diterapkan ke aplikasi di Android 10, terlepas dari SDK target aplikasi.

Untuk informasi tentang cara menerapkan kasus penggunaan aplikasi (pada upgrade), lihat bagian Mendesain untuk skenario upgrade perangkat dalam dokumentasi developer.

Untuk melihat cara mengaktifkan akses untuk berbagai kasus penggunaan (seperti mewajibkan akses lokasi latar belakang untuk aplikasi seperti Google Maps atau layanan Google Play), lihat topik berikut 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 memilih. Untuk izin akses lokasi dalam aplikasi, dan untuk semua aplikasi pihak pertama dan pihak ketiga, berikan tingkat kontrol pengguna yang diberikan dalam tabel berikut.

Jenis izin yang perlu diminta aplikasi Opsi pengguna yang akan disediakan
Aplikasi hanya meminta izin latar depan Izinkan hanya saat aplikasi digunakan
Tolak
Aplikasi selalu meminta izin (latar depan dan latar belakang) Selalu izinkan
Izinkan hanya saat aplikasi digunakan
Tolak
Semua aplikasi dengan permintaan akses lokasi Izinkan saat aplikasi digunakan

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

Di Android 11 atau yang lebih lama, aplikasi dengan izin Izinkan hanya saat menggunakan aplikasi tidak diizinkan untuk melakukan pemindaian Bluetooth latar belakang. Mulai Android 12, aplikasi dengan izin Izinkan hanya saat aplikasi digunakan dapat memperoleh hasil pindaian Bluetooth dengan menetapkan nilai atribut android:usesPermissionFlags ke neverForLocation. Untuk mengetahui detail selengkapnya, lihat Aplikasi tidak mendapatkan lokasi fisik.

Upgrade OS

Pada upgrade OS ke Android 10, izin akses lokasi aplikasi diterjemahkan sesuai dengan hal berikut:

  • Aktif menjadi Izinkan hanya saat Digunakan.
  • Nonaktif tetap nonaktif (Tolak).
  • Akses lokasi yang telah diizinkan sebelumnya menjadi izin yang telah diizinkan sebelumnya Izinkan hanya saat digunakan.