Penggunaan lokasi latar belakang

Android 14 (Android U) memperkenalkan pembatasan baru pada aplikasi yang mengakses lokasi pengguna di latar belakang. Untuk membantu mengurangi perubahan ini, Navigation SDK telah diupdate pada versi 5.3.2 untuk mengelola akses lokasi latar belakang dengan lebih baik. Sebaiknya perbarui juga penerapan Anda untuk memastikan aplikasi Anda terus memiliki akses ke data lokasi yang paling akurat.

Pengaruh perubahan di Android 14 terhadap Navigation SDK

Saat Anda memanggil startGuidance() di aplikasi, layanan latar depan akan mulai menampilkan notifikasi pengguna untuk navigasi belokan demi belokan. Navigasi belokan demi belokan bergantung pada kemampuan mengakses lokasi pengguna untuk memperbarui rute dan menampilkan panduan visual dan audio yang benar. Mulai Android 14, mengakses lokasi presisi pengguna di latar belakang memerlukan izin dari pengguna. Secara default, jika aplikasi tidak memiliki izin pengguna untuk akses lokasi latar belakang dan mencoba memulai layanan latar depan untuk pembaruan lokasi, sistem akan menampilkan SecurityException, yang menyebabkan aplikasi error.

Cara Navigation SDK mengurangi masalah ini

Mulai versi 5.3.2, Navigation SDK akan menangani SecurityException ini tanpa memengaruhi aplikasi, sehingga memungkinkan navigasi terus berjalan di latar belakang. Selain itu, Navigation SDK juga menyertakan izin ACCESS_BACKGROUND_LOCATION dalam AndroidManifest-nya. Dengan cara ini, aplikasi Anda tidak perlu mendeklarasikan izin itu sendiri, karena penggabungan Gradle akan menanganinya. Namun, jika notifikasi tidak ditampilkan kepada pengguna sebelum aplikasi beralih ke latar belakang, Navigation SDK akan bergantung pada sistem untuk menyediakan pembaruan lokasi. Update sistem ini mungkin tidak sering atau tidak tepat, sehingga menghasilkan pengalaman navigasi yang kurang optimal. Karena alasan ini, sebaiknya Anda juga meminta pengguna untuk akses lokasi latar belakang.

Apa yang dapat dilakukan developer aplikasi untuk meningkatkan akurasi lokasi untuk navigasi

Anda dapat meningkatkan akurasi sinyal lokasi yang digunakan oleh Navigation SDK dengan mengupdate aplikasi untuk meminta akses lokasi latar belakang kepada pengguna. Perintah ini harus menjelaskan kepada pengguna bahwa pemberian izin akan meningkatkan akurasi lokasi dan meningkatkan kualitas pengalaman navigasi saat aplikasi berjalan di latar belakang.

contoh dialog
izin

Untuk mengetahui informasi selengkapnya tentang cara meminta akses lokasi kepada pengguna, lihat Meminta izin akses lokasi | Sensor dan lokasi | Android Developer.