I encountered inconsistencies in the Android documentation regarding location permissions. My app requires the ACCESS_FINE_LOCATION permission for Bluetooth, WiFi, and SDK functionalities, and it operates without issues using only this permission.
However, I recently came across the Request location permissions documentation, which suggests that ACCESS_COARSE_LOCATION should always be requested alongside ACCESS_FINE_LOCATION. It mentions potential issues on some Android 12 builds where omitting ACCESS_COARSE_LOCATION could lead to ungrantable permissions.
This was surprising, as neither the Bluetooth permissions, Request permission to access nearby Wi-Fi devices, nor the SDK documentation indicated the necessity of ACCESS_COARSE_LOCATION. Has anyone else experienced this discrepancy?
I want to ensure that users cannot grant coarse location access; I specifically require only fine location. How crucial is it to include both permissions for ensuring app compatibility across various Android versions?
You should first request COURSE.
And only when you obtained that permission request for FINE.