Determining the level of Android permission

android, android-permissions, permissions

Solution

A list of default permissions with the associated protection levels can be found in the latest source here:

https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

Example:

<permission android:name="android.permission.INTERNET"
    android:permissionGroup="android.permission-group.NETWORK"
    android:protectionLevel="dangerous"
    android:description="@string/permdesc_createNetworkSockets"
    android:label="@string/permlab_createNetworkSockets" />

Keep in mind they could be changed by the OEM.

Problem

I have some Android permissions which I would like to know to which permision PROTECTION LEVEL they belong. Does anybody know how can this be checked? For example I need to know the PROTECTION LEVEL of `android.permission.RECEIVE_BOOT_COMPLETED` permission, but I would like to check many more. EDIT: I see that I didn't put it clearly: What I mean is not an API level with which permission was introduced, but permission protection level, one of four: Normal, Dangerous, Signeture, Signature Or System. It determines for example how this permission is presented to user during the application installation. How can I check to which protection level certain permission belongs?

Original source