What is the difference between the ACCESS_COARSE_LOCATION and ACCESS_COARSE Android permission?
The ACCESS_COARSE_LOCATION can be found in the Android developers page,
whether the ACCESS_COARSE is not in this list.
I have found many applications that use it e.g. 3D Compass.
I run the androguard to inspect the permissions of this application and I found this one inside:
<uses-permission android:name="android.permission.ACCESS_COARSE">
Is it an abbreviation of the ACCESS_COARSE_LOCATION? Why is it not in the official Android page with the permissions here?
Moreover I have see several other permissions not in this list such as:
WRITE_OWNER_DATA, READ_OWNER_DATA,…
Why does it happen? Are those permission deprecated, or not official?
There is no
ACCESS_COARSEpermission in Android. You can tell this by looking at the source code.Because
ACCESS_COARSEdoes not exist.They might request it. They do not use it, because it does not exist.
Presumably the authors of that application made a mistake.
No.
Because it does not exist.
Those were removed from the SDK in API Level 9.
You can have any
<uses-permission>elements you want. If what you request does not exist, you do not get it.Presumably because the million monkeys they used to write the app put it in there. This is one of the many reasons not to use monkeys (outside of specially prepared test monkeys and monkey runners) for Android application development.