Is there any permission list like play.google.com
, I'm looking for a classified list of permissions.

- 2,442
- 4
- 34
- 62
-
What's missing from the documentation? http://developer.android.com/reference/android/Manifest.permission.html – Simon Nov 03 '13 at 08:34
-
@Simon there is a group :`Network communication` and there is some permission on it like `view network connections` . I want a list of permission that Classified by group of type just like the picture – Pejman Nov 03 '13 at 08:51
-
1possible duplicate of [XML Android Permissions List Full](http://stackoverflow.com/questions/7523075/xml-android-permissions-list-full) – Simon Nov 03 '13 at 09:01
-
Look @Simon I'm trying to be polite, but my english is so bad. I'm gonna make a list of permissions in my web page. I want to classified them but I cant figure it out some question like this: the `ACCESS_SURFACE_FLINGER` belong to which group ? or where `AUTHENTICATE_ACCOUNTS` should be? in account or in security – Pejman Nov 03 '13 at 09:07
-
This might be useful. http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/android/content/pm/PackageParser.java#PackageParser.PermissionGroup – Simon Nov 03 '13 at 09:45
3 Answers
The classifications are referred to as "permission groups." You can find a list of the standard Android permission groups in the Manifest.permission documentation. Unfortunately, getting a complete list of groups and permission isn't very easy.
You can get a permission's permission group through a PermissionInfo
object.
You can use something such as the following code to get a list of all permissions and their groups on your device:
public MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
List<PackageInfo> packages = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo packageInfo: packages) {
for (PermissionInfo permission: packageInfo.permissions) {
Log.d("Permission", "Permission: " + permission.name + "\t Group: " + permission.group);
}
}
}
}

- 66,602
- 10
- 133
- 120
you will get full permission list with description here http://developer.android.com/reference/android/Manifest.permission.html
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCOUNT_MANAGER" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
<uses-permission android:name="android.permission.BIND_INPUT_METHOD" />
<uses-permission android:name="android.permission.BIND_REMOTEVIEWS" />
<uses-permission android:name="android.permission.BIND_WALLPAPER" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BRICK" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />
<uses-permission android:name="android.permission.BROADCAST_SMS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"/>
<uses-permission android:name="android.permission.BIND_TEXT_SERVICE"/>
<uses-permission android:name="android.permission.BIND_VPN_SERVICE"/>
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_SOCIAL_STREAM"/>
<uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<uses-permission android:name="android.permission.WRITE_PROFILE"/>
<uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"/>
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>

- 17,179
- 2
- 35
- 40
-
I do exactly know this but I'm not looking for permission list, I'm looking for a **classified** permission list just like the picture in my question. – Pejman Nov 03 '13 at 08:53
Google doesn't provide the mappings between permissions and permission-groups or permissions and protection-levels. You can extract them from the Android source code. Here is a project that recovers those mappings.
https://github.com/benjholla/AndroidPermissionAttributeMapper
Example output is provided for a recovered mappings of:

- 2,309
- 4
- 34
- 50