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.
Untuk mengetahui informasi selengkapnya tentang cara meminta akses lokasi kepada pengguna, lihat Meminta izin akses lokasi | Sensor dan lokasi | Android Developer.