2

When I add the permissions

"INTERNET"
"ACCESS_NETWORK_STATE"

to my app and upload it to Google Play, people who download the app see the message "this app doesn't require any special permissions".

Are the following permissions "special" for Google Play?

"ACCESS_WIFI_STATE"
"READ_PHONE_STATE"

I'm using a mobile ad SDK that claims to perform better if it is granted all four permissions. But I don't want to scare off some users by asking for too many permissions.

A.G.
  • 2,037
  • 4
  • 29
  • 40
  • Not sure I understand. Are you trying to include as much as you can without asking for permissions? If you need a permission, then you should include it. Otherwise, don't include the permission. – Jay Snayder Jan 22 '15 at 13:52
  • There is another similar question on SO: http://stackoverflow.com/questions/7339743/android-permissions-how-can-i-learn-which-are-dangerous-vs-normal – stuXnet Jan 22 '15 at 14:37

1 Answers1

2

The permission READ_PHONE_STATE has to be accepted by users, ACCESS_WIFI_STATE doesn't.

Somebody asked already about the link between Android Permissions and Permission Groups - the selected answer links to the actual mapping file for the permissions of Android.

So the permissions you mentioned are belonging into the following groups and protection levels:

  • INTERNET: NETWORK (dangerous)
  • ACCESS_NETWORK_STATE: NETWORK (normal)
  • ACCESS_WIFI_STATE: NETWORK (normal)
  • READ_PHONE_STATE: PHONE_CALLS (dangerous)

Based on Google's explanation about the protectionLevel, "special permissions" (as you call it) are permissions marked as "dangerous" (as Google calls it).

But hey, INTERNET is dangerous! Why aren't users asked about this permission? Because.

Google has also given each app Internet access, effectively removing the Internet access permission. Oh, sure, Android developers still have to declare they want Internet access when putting together the app. But users can no longer see the Internet access permission when installing an app and current apps that don’t have Internet access can now gain Internet access with an automatic update without prompting you.

Community
  • 1
  • 1
stuXnet
  • 4,309
  • 3
  • 22
  • 31
  • I'm not sure that the "normal" protection level is automatically "non-special". For example, "android.permission.WAKE_LOCK" is marked as "normal" but will show as Permission "prevents your device from hibernating" in Google Play. – A.G. Jan 22 '15 at 15:07
  • @android_422 Now I'm not that sure either... At http://stackoverflow.com/a/7340762/1436981, CommonsWare suggests that the documentation is wrong about this point: `What this may have morphed into is that dangerous permissions are always displayed and normal permissions are ones that might be "below the fold" if there are enough dangerous ones.` – stuXnet Jan 23 '15 at 08:32