I am trying to figure out if I really need to request ACCESS_FINE_LOCATION or not. I do not need really accurate coordinates. However, if cell towers or WiFi is not available, I want to be able to get a location from GPS (low accuracy is fine). But, I cannot find a clear answer in the Android documentation about this. Below is what the Android Docs say (ACCESS_COARSE_LOCATION). It tells me that requesting the coarse location gives me info from the “Cell-ID, WiFi” source and that requesting the fine permission will use GPS, but it says nothing about GPS being any type of fallback for when only the coarse location permission is requested.
public static final String ACCESS_COARSE_LOCATION
Since: API Level 1
Allows an application to access coarse (e.g., Cell-ID, WiFi) location
Constant Value: “android.permission.ACCESS_COARSE_LOCATION”
public static final String ACCESS_FINE_LOCATION
Since: API Level 1
Allows an application to access fine (e.g., GPS) location
Constant Value: “android.permission.ACCESS_FINE_LOCATION”
I think this other post and the Android documentation it references answers this question. The Android doc says the following.
So, if I’m reading that right, requesting ACCESS_COARSE_LOCATION can’t pull from GPS because it does not request access for the GPS_PROVIDER.