I have received the following runtime exception in the crash reporting section of Firebase:
java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.
As this answer states, the exception can be solved by requesting the permissions at runtime.
Yet, what actually bugs me is the fact that in my Manifest file I only request COARSE LOCATION permission, while FINE LOCATION is never there.
AndroidManifest.xml
... // other permissions
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
... // no sign of fine location
Why would a missing permission throw such an exception?
Notes: This is the first time the app crashes since it has been launched. The crash took place on an ALLVIEW VivaH7 API 19 with Android 4.4.2. (no similar crashes on any other devices or API's yet)
Also, is COARSE LOCATION considered a dangerous permission as well as FINE LOCATION? Therefore, should I request permission for COARSE LOCATION at runtime?