How to Get a List of Android Permissions

Where can I get a list of more Android permissions? (other than ...)

There is no such thing as a comprehensive "list" for all permissions. New permissions can be defined by any application that wants to enforce its own: https://developer.android.com/guide/topics/security/security.html#declaring.

The Manifest.permission class lists the "system" permissions, and you're already aware of those. The other things you've listed aren't system permissions, but rather are specific to certain apps, and or are old names (ACCESS_LOCATION and ACCESS_GPS were pre 1.0 names, for example).

A grep for something like <permission android:name= in the source would reveal all the included app permissions (for the open source apps), but in general you should stick to the documented permission names.

Where do I find the full list of permissions for Android by API level?

Depending on API level, the permission list can vary greatly.

The permission list is mostly additive. Permissions are only infrequently removed or have their protectionLevel altered. Which permission group a permission belongs to also can change, but that should not have any impact on your own code. For the vast majority of developers, for the vast majority of scenarios, just knowing when a permission was added to the platform is sufficient.

The source code is the "source of truth" regarding permission definitions for an OS version. They appear as <permission> elements in the platform manifest, as permissions are declared for the platform much the same way as custom permissions are declared in an app's manifest. Here is the platform manifest for Android 11:

https://cs.android.com/android/platform/superproject/+/android-11.0.0_r3:frameworks/base/core/res/AndroidManifest.xml

Scroll down to find the <permission> elements (here is the first one, for READ_CONTACTS). You can use the second drop-down in the breadcrumbs row towards the top to switch to a different branch/OS version — to Android 9.0, for example.

How to get all granted permissions of a app

A simple function that returns all the permissions that have been requested and granted for a given package could look like this:

List<String> getGrantedPermissions(final String appPackage) {
List<String> granted = new ArrayList<String>();
try {
PackageInfo pi = getPackageManager().getPackageInfo(appPackage, PackageManager.GET_PERMISSIONS);
for (int i = 0; i < pi.requestedPermissions.length; i++) {
if ((pi.requestedPermissionsFlags[i] & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0) {
granted.add(pi.requestedPermissions[i]);
}
}
} catch (Exception e) {
}
return granted;
}

Note that this requires API level 16 or above, but that should hopefully not be an issue these days.

How Do We List All Defined Permissions?

To get a list of all permissions using adb, you will need to add the -g flag. If you look at the source code, this adds null to the list of groups. As you pointed out, PackageManager#getAllPermissionGroups(int) does not include ungrouped permissions. Adding null as a group name will get these ungrouped permissions.

By adding null as a permission group name we can get all permissions using PackageManager. I ran the following code on a Nexus 9 running the current preview edition of Android 6.0.

Code:

public static void printPermissionInfo(Context context) throws Exception {
PackageManager pm = context.getPackageManager();
List<PermissionGroupInfo> groupList = pm.getAllPermissionGroups(0);
groupList.add(null); // ungrouped permissions
Method protectionToString = PermissionInfo.class.getDeclaredMethod("protectionToString",
int.class);
for (PermissionGroupInfo group : groupList) {
try {
String name = group == null ? null : group.name;
List<PermissionInfo> permissionInfos = pm.queryPermissionsByGroup(name, 0);
for (PermissionInfo permissionInfo : permissionInfos) {
String protection = (String) protectionToString.invoke(permissionInfo,
permissionInfo.protectionLevel);
System.out.println(permissionInfo.name + " " + protection);
}
} catch (PackageManager.NameNotFoundException ignored) {
}
}
}

Output:

com.google.android.gms.permission.CAR_VENDOR_EXTENSION dangerous
com.google.android.gms.permission.CAR_MILEAGE dangerous
com.google.android.gms.permission.CAR_FUEL dangerous
android.permission.WRITE_CONTACTS dangerous
android.permission.GET_ACCOUNTS dangerous
android.permission.READ_CONTACTS dangerous
android.permission.READ_CALL_LOG dangerous
android.permission.READ_PHONE_STATE dangerous
android.permission.ACCESS_IMS_CALL_SERVICE signature|privileged
android.permission.CALL_PHONE dangerous
android.permission.WRITE_CALL_LOG dangerous
android.permission.USE_SIP dangerous
android.permission.PROCESS_OUTGOING_CALLS dangerous
com.android.voicemail.permission.ADD_VOICEMAIL dangerous
android.permission.READ_CALENDAR dangerous
android.permission.WRITE_CALENDAR dangerous
android.permission.CAMERA dangerous
android.permission.BODY_SENSORS dangerous
android.permission.USE_FINGERPRINT normal
android.permission.ACCESS_FINE_LOCATION dangerous
com.google.android.gms.permission.CAR_SPEED dangerous
android.permission.ACCESS_COARSE_LOCATION dangerous
android.permission.READ_EXTERNAL_STORAGE dangerous
android.permission.WRITE_EXTERNAL_STORAGE dangerous
android.permission.RECORD_AUDIO dangerous
android.permission.READ_SMS dangerous
android.permission.RECEIVE_WAP_PUSH dangerous
android.permission.RECEIVE_MMS dangerous
android.permission.RECEIVE_SMS dangerous
android.permission.SEND_SMS dangerous
android.permission.READ_CELL_BROADCASTS dangerous
android.permission.REAL_GET_TASKS signature|privileged
android.permission.ACCESS_CACHE_FILESYSTEM signature|privileged
android.permission.REMOTE_AUDIO_PLAYBACK signature
com.google.android.apps.photos.permission.C2D_MESSAGE signature
android.permission.INTENT_FILTER_VERIFICATION_AGENT signature|privileged
android.permission.BIND_INCALL_SERVICE signature|privileged
com.google.android.gms.trustagent.framework.model.DATA_CHANGE_NOTIFICATION signature
android.permission.WRITE_SETTINGS signature|appop|pre23|preinstalled
android.permission.CONTROL_KEYGUARD signature
com.google.android.apps.magazines.permission.C2D_MESSAGE signature
com.google.android.calendar.permission.C2D_MESSAGE signature
android.permission.CONFIGURE_WIFI_DISPLAY signature
android.permission.ACCESS_WIMAX_STATE normal
android.permission.SET_INPUT_CALIBRATION signature
android.permission.RECOVERY signature|privileged
android.permission.TEMPORARY_ENABLE_ACCESSIBILITY signature
com.google.android.talk.permission.C2D_MESSAGE signature
android.permission.SET_PROCESS_LIMIT signature|privileged|development
com.google.android.googlequicksearchbox.permission.C2D_MESSAGE signature
android.permission.FRAME_STATS signature
com.google.android.apps.genie.geniewidget.permission.C2D_MESSAGE signature
android.permission.BRICK signature
com.google.android.gallery3d.permission.GALLERY_PROVIDER signature
android.permission.RESTART_PACKAGES normal
android.permission.BIND_KEYGUARD_APPWIDGET signature|privileged
android.permission.BIND_DEVICE_ADMIN signature
android.permission.MODIFY_AUDIO_SETTINGS normal
android.permission.ACCESS_CHECKIN_PROPERTIES signature|privileged
android.permission.KILL_UID signature|installer
android.permission.SIGNAL_PERSISTENT_PROCESSES signature|privileged|development
android.permission.BIND_PRINT_SERVICE signature
android.permission.ACCESS_NOTIFICATION_POLICY normal
android.permission.MODIFY_AUDIO_ROUTING signature|privileged
android.permission.RECEIVE_BLUETOOTH_MAP signature|privileged
android.permission.ACCESS_MOCK_LOCATION signature
com.google.android.apps.enterprise.dmagent.permission.NotificationBroadcastReceiverPermission signature|privileged
android.permission.GET_APP_OPS_STATS signature|privileged|development
android.permission.RECEIVE_DATA_ACTIVITY_CHANGE signature|privileged
android.permission.GET_PACKAGE_IMPORTANCE signature|privileged
com.google.android.youtube.permission.C2D_MESSAGE signature
android.permission.READ_WIFI_CREDENTIAL signature|privileged
android.permission.BIND_DREAM_SERVICE signature
android.permission.WRITE_GSERVICES signature|privileged
com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS signature
android.permission.INSTALL_LOCATION_PROVIDER signature|privileged
com.google.android.voicesearch.AUDIO_FILE_ACCESS signature
android.permission.CONTROL_WIFI_DISPLAY signature
android.permission.SYSTEM_ALERT_WINDOW signature|appop|pre23|preinstalled
android.permission.BIND_CARRIER_SERVICES signature|privileged
com.google.android.gsf.subscribedfeeds.permission.C2D_MESSAGE signature
android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION signature|privileged
android.permission.START_TASKS_FROM_RECENTS signature|privileged
com.google.android.apps.enterprise.dmagent.permission.AutoRegisterPermission signature|privileged
android.permission.CONTROL_LOCATION_UPDATES signature|privileged
com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE signature
android.permission.GET_TOP_ACTIVITY_INFO signature
android.permission.CLEAR_APP_USER_DATA signature|installer
android.permission.PROVIDE_TRUST_AGENT signature|privileged
android.permission.BROADCAST_CALLLOG_INFO signature|privileged
com.google.android.gms.chromesync.permission.CONTENT_PROVIDER_ACCESS signature
android.permission.INSTALL_PACKAGES signature|privileged
android.permission.SEND_RESPOND_VIA_MESSAGE signature|privileged
com.android.permission.WHITELIST_BLUETOOTH_DEVICE signature
android.permission.ACCESS_FM_RADIO signature|privileged
android.permission.MANAGE_VOICE_KEYPHRASES signature|privileged
android.permission.SHUTDOWN signature|privileged
android.permission.CHANGE_COMPONENT_ENABLED_STATE signature|privileged
com.google.android.gms.permission.CHECKIN_NOW signature
android.permission.BIND_TV_INPUT signature|privileged
android.permission.NFC normal
android.permission.MODIFY_PARENTAL_CONTROLS signature|privileged
android.permission.INTERNAL_SYSTEM_WINDOW signature
android.permission.PROCESS_PHONE_ACCOUNT_REGISTRATION signature|privileged
android.permission.RETRIEVE_WINDOW_TOKEN signature
android.permission.BIND_WALLPAPER signature|privileged
android.permission.START_ANY_ACTIVITY signature
android.permission.CAMERA_SEND_SYSTEM_EVENTS signature|privileged
com.google.android.apps.now.OPT_IN_WIZARD signature|privileged
android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS signature
com.google.android.googlequicksearchbox.permission.FINISH_GEL_ACTIVITY signature
android.permission.BROADCAST_SMS signature
android.permission.CALL_PRIVILEGED signature|privileged
android.permission.BIND_INTENT_FILTER_VERIFIER signature
android.permission.MANAGE_APP_TOKENS signature
android.permission.CHANGE_NETWORK_STATE signature|appop|pre23|preinstalled
android.permission.CAPTURE_TV_INPUT signature|privileged
com.google.android.apps.fitness.permission.C2D_MESSAGE signature
android.permission.MASTER_CLEAR signature|privileged
android.permission.PERSISTENT_ACTIVITY normal
android.permission.BIND_TELECOM_CONNECTION_SERVICE signature|privileged
android.permission.WRITE_SYNC_SETTINGS normal
com.google.android.providers.gsf.permission.WRITE_GSERVICES signature|privileged
android.permission.SET_DEBUG_APP signature|privileged|development
com.google.android.apps.wallet.permission.WALLET_INTERNAL signature
android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY signature
com.google.android.apps.walletnfcrel.permission.C2D_MESSAGE signature
android.permission.RECEIVE_BOOT_COMPLETED normal
com.google.android.apps.cloudprint.permission.C2D_MESSAGE signature
android.permission.LOOP_RADIO signature|privileged
android.permission.GLOBAL_SEARCH_CONTROL signature
com.google.android.gms.auth.permission.POST_SIGN_IN_ACCOUNT signature
android.permission.PEERS_MAC_ADDRESS signature
android.permission.DEVICE_POWER signature
com.google.android.providers.settings.permission.READ_GSETTINGS signature
com.google.android.gms.cloudsave.BIND_EVENT_BROADCAST signature|privileged
com.android.vending.permission.C2D_MESSAGE signature
android.permission.SET_TIME_ZONE normal
android.permission.REMOVE_TASKS signature
com.google.android.googlequicksearchbox.permission.PAUSE_HOTWORD signature|privileged
android.permission.EXPAND_STATUS_BAR normal
com.android.launcher.permission.UNINSTALL_SHORTCUT normal
android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS signature
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS normal
android.permission.READ_PROFILE normal
android.permission.BIND_VOICE_INTERACTION signature
com.google.android.marvin.feedback.permission.TALKBACK signature
android.permission.BLUETOOTH normal
android.permission.BROADCAST_WAP_PUSH signature
android.permission.CHANGE_WIFI_MULTICAST_STATE normal
com.google.android.onetimeinitializer.permission.ONE_TIME_INITIALIZED signature
android.permission.DVB_DEVICE signature|privileged
android.permission.PERFORM_SIM_ACTIVATION signature|privileged
com.android.alarm.permission.SET_ALARM normal
android.permission.CAPTURE_AUDIO_HOTWORD signature|privileged
android.permission.WRITE_MEDIA_STORAGE signature|privileged
com.android.voicemail.permission.READ_VOICEMAIL signature|privileged
android.permission.SET_ANIMATION_SCALE signature|privileged|development
com.google.android.gms.permission.AD_ID_NOTIFICATION normal
com.android.vending.setup.PLAY_SETUP_SERVICE signature|privileged
android.permission.GET_TASKS normal
android.permission.BROADCAST_NETWORK_PRIVILEGED signature|privileged
android.permission.ACCESS_SURFACE_FLINGER signature
com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD signature
android.permission.INTERNET normal
android.permission.TV_INPUT_HARDWARE signature|privileged
com.android.vending.INTENT_VENDING_ONLY signature
android.permission.TRANSMIT_IR normal
com.google.android.gms.permission.C2D_MESSAGE signature
android.permission.RETRIEVE_WINDOW_CONTENT signature|privileged
android.permission.REORDER_TASKS normal
com.android.chrome.permission.CHILD_SERVICE signature
com.google.android.videos.permission.C2D_MESSAGE signature
android.permission.BLUETOOTH_ADMIN normal
android.permission.CONTROL_VPN signature|privileged
android.permission.UPDATE_DEVICE_STATS signature|privileged
android.permission.BLUETOOTH_STACK signature
android.permission.BLUETOOTH_MAP signature
android.permission.READ_PRECISE_PHONE_STATE signature|privileged
android.permission.MANAGE_FINGERPRINT signature|privileged
com.google.android.partnersetup.permission.UPDATE_CLIENT_ID signature|privileged
android.permission.NET_ADMIN signature
com.google.android.gms.permission.GAMES_DEBUG_SETTINGS signature
android.permission.CARRIER_FILTER_SMS signature|privileged
android.permission.PERFORM_CDMA_PROVISIONING signature|privileged
com.google.android.gms.trustagent.permission.TRUSTAGENT_STATE signature
android.permission.BIND_CONNECTION_SERVICE signature|privileged
android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS signature|installer|verifier
android.permission.WRITE_SOCIAL_STREAM normal
android.permission.LAUNCH_TRUST_AGENT_SETTINGS signature|privileged
android.permission.REGISTER_CALL_PROVIDER signature|privileged
android.permission.GET_PACKAGE_SIZE normal
android.permission.BIND_VPN_SERVICE signature
android.permission.TRUST_LISTENER signature
android.permission.ACCOUNT_MANAGER signature
android.permission.MANAGE_USB signature|privileged
android.permission.ACCESS_ALL_DOWNLOADS signature
android.permission.INTERACT_ACROSS_USERS_FULL signature|installer
android.permission.BIND_APPWIDGET signature|privileged
android.permission.STOP_APP_SWITCHES signature|privileged
android.permission.BATTERY_STATS signature|privileged|development
com.google.android.gms.permission.INTERNAL_BROADCAST signature
android.permission.PACKAGE_USAGE_STATS signature|privileged|development|appop
android.permission.WRITE_PROFILE normal
android.permission.MOUNT_UNMOUNT_FILESYSTEMS signature|privileged
android.permission.GET_ACCOUNTS_PRIVILEGED signature|privileged
android.permission.WRITE_SECURE_SETTINGS signature|privileged|development
com.android.vending.TOS_ACKED signature|privileged
android.permission.SERIAL_PORT signature|privileged
android.permission.BIND_NOTIFICATION_LISTENER_SERVICE signature
android.permission.CAPTURE_AUDIO_OUTPUT signature|privileged
android.permission.BIND_MIDI_DEVICE_SERVICE signature
android.permission.MOVE_PACKAGE signature|privileged
android.permission.SET_ACTIVITY_WATCHER signature
android.permission.STATUS_BAR_SERVICE signature
android.permission.READ_SEARCH_INDEXABLES signature|privileged
android.permission.NFC_HANDOVER_STATUS signature|privileged
android.permission.SCORE_NETWORKS signature|privileged
android.permission.DIAGNOSTIC signature
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS normal
android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE signature|privileged
android.permission.READ_PRIVILEGED_PHONE_STATE signature|privileged
android.permission.ACCESS_DOWNLOAD_MANAGER signature|privileged
android.permission.BROADCAST_STICKY normal
android.permission.ASEC_ACCESS signature
android.permission.BIND_REMOTE_DISPLAY signature
android.permission.BLUETOOTH_PRIVILEGED signature|privileged
com.google.android.gms.permission.CAR signature
android.permission.SET_ALWAYS_FINISH signature|privileged|development
android.permission.HARDWARE_TEST signature
com.google.android.videos.permission.INVALIDATE_AUTH_TOKENS signature
android.permission.ASEC_CREATE signature
com.google.android.apps.enterprise.dmagent.permission.AutoSyncPermission signature|privileged
com.google.android.apps.enterprise.dmagent.permission.InvokeDMServicePermission signature
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE signature
android.permission.ACCESS_KEYGUARD_SECURE_STORAGE signature
com.google.android.launcher.permission.CONTENT_REDIRECT signature
android.permission.BIND_JOB_SERVICE signature
android.permission.CONFIRM_FULL_BACKUP signature
android.permission.CAPTURE_SECURE_VIDEO_OUTPUT signature|privileged
android.permission.SET_TIME signature|privileged
android.permission.WRITE_APN_SETTINGS signature|privileged
com.google.android.providers.settings.permission.WRITE_GSETTINGS signature
android.permission.CHANGE_WIFI_STATE normal
com.google.android.apps.gcs.RECEIVE_GCS_STATE signature|privileged
android.permission.BIND_PACKAGE_VERIFIER signature
android.permission.READ_INSTALL_SESSIONS normal
android.permission.BIND_ROUTE_PROVIDER signature
android.permission.RECEIVE_STK_COMMANDS signature|privileged
android.permission.BIND_CARRIER_MESSAGING_SERVICE signature|privileged
android.permission.ACCESS_BLUETOOTH_SHARE signature
android.permission.PACKAGE_VERIFICATION_AGENT signature|privileged
com.google.android.apps.maps.permission.PREFETCH signature
android.permission.SET_ORIENTATION signature
android.permission.REVOKE_RUNTIME_PERMISSIONS signature|installer|verifier
android.permission.MANAGE_USERS signature|privileged
com.android.vending.billing.BILLING_ACCOUNT_SERVICE signature|privileged
com.google.android.gm.email.permission.ACCESS_PROVIDER signature
android.permission.SET_PREFERRED_APPLICATIONS signature
android.permission.FLASHLIGHT normal
android.permission.DELETE_CACHE_FILES signature|privileged
com.google.android.hangouts.START_HANGOUT signature
android.permission.SET_WALLPAPER_COMPONENT signature|privileged
android.permission.ACCESS_NETWORK_STATE normal
android.permission.BIND_CONDITION_PROVIDER_SERVICE signature
android.permission.ACCESS_MTP signature|privileged
android.permission.DISABLE_KEYGUARD normal
android.permission.BACKUP signature|privileged
android.permission.PROCESS_CALLLOG_INFO signature|privileged
android.permission.CHANGE_CONFIGURATION signature|privileged|development
android.permission.USER_ACTIVITY signature|privileged
android.permission.LOCAL_MAC_ADDRESS signature|privileged
android.permission.READ_LOGS signature|privileged|development
com.google.android.apps.maps.permission.C2D_MESSAGE signature
android.permission.COPY_PROTECTED_DATA signature
android.permission.ASEC_DESTROY signature
android.permission.INTERACT_ACROSS_USERS signature|privileged|development
android.permission.SET_WALLPAPER normal
android.permission.ASEC_RENAME signature
android.permission.SET_KEYBOARD_LAYOUT signature
android.permission.UPDATE_CONFIG signature|privileged
android.permission.ACCESS_NETWORK_CONDITIONS signature|privileged
android.permission.READ_DREAM_STATE signature|privileged
android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT signature
com.google.googlenav.friend.permission.OPT_IN signature
com.google.android.launcher.permission.RECEIVE_FIRST_LOAD_BROADCAST signature|privileged
android.permission.UPDATE_LOCK signature|privileged
android.permission.READ_NETWORK_USAGE_HISTORY signature|privileged
android.permission.ACCESS_DRM_CERTIFICATES signature|privileged
com.google.android.gsf.permission.C2D_MESSAGE signature
com.google.android.googlequicksearchbox.permission.FLUSH_LOGS signature
android.permission.READ_INPUT_STATE signature
android.permission.KILL_BACKGROUND_PROCESSES normal
android.permission.ACCESS_VOICE_INTERACTION_SERVICE signature
android.permission.BIND_PRINT_SPOOLER_SERVICE signature
android.permission.BIND_DIRECTORY_SEARCH signature|privileged
android.permission.WRITE_USER_DICTIONARY normal
android.permission.REGISTER_SIM_SUBSCRIPTION signature|privileged
android.permission.READ_SYNC_STATS normal
android.permission.WRITE_DREAM_STATE signature|privileged
android.permission.FREEZE_SCREEN signature
android.permission.DOWNLOAD_CACHE_NON_PURGEABLE signature|privileged
android.permission.REBOOT signature|privileged
android.permission.DISPATCH_NFC_MESSAGE signature|privileged
com.google.android.gms.auth.permission.FACE_UNLOCK signature
android.permission.MOUNT_FORMAT_FILESYSTEMS signature|privileged
android.permission.OEM_UNLOCK_STATE signature
android.permission.REGISTER_CONNECTION_MANAGER signature|privileged
android.permission.MANAGE_DEVICE_ADMINS signature|privileged
android.permission.CLEAR_APP_CACHE signature|privileged
android.permission.CHANGE_APP_IDLE_STATE signature
com.google.android.gms.auth.permission.GOOGLE_ACCOUNT_CHANGE signature
com.google.android.gms.trustagent.framework.model.DATA_ACCESS signature
android.permission.BIND_TRUST_AGENT signature
android.permission.MANAGE_DOCUMENTS signature
android.permission.ACCESS_PDB_STATE signature
android.permission.MANAGE_NETWORK_POLICY signature
android.permission.BIND_REMOTEVIEWS signature|privileged
android.permission.ASEC_MOUNT_UNMOUNT signature
android.permission.GRANT_RUNTIME_PERMISSIONS signature|installer
android.permission.SET_POINTER_SPEED signature
android.permission.CHANGE_BACKGROUND_DATA_SETTING signature
com.android.systemui.permission.SELF signature
com.android.chrome.TOS_ACKED signature|privileged
android.permission.GLOBAL_SEARCH signature|privileged
android.permission.NET_TUNNELING signature
android.permission.CONNECTIVITY_INTERNAL signature|privileged
android.permission.FACTORY_TEST signature
android.permission.SET_WALLPAPER_HINTS normal
android.permission.MANAGE_MEDIA_PROJECTION signature
android.permission.READ_SYNC_SETTINGS normal
com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS signature
com.google.android.partnersetup.permission.ACCESS_PROVIDER signature
com.android.chrome.permission.C2D_MESSAGE signature
android.permission.BROADCAST_PACKAGE_REMOVED signature
com.google.android.music.store.permission.C2D_MESSAGE signature
android.permission.OVERRIDE_WIFI_CONFIG signature|privileged
com.android.gallery3d.filtershow.permission.READ signature
android.permission.FORCE_STOP_PACKAGES signature|privileged
android.permission.MANAGE_CA_CERTIFICATES signature|privileged
android.permission.CAPTURE_VIDEO_OUTPUT signature|privileged
android.permission.ACCESS_NOTIFICATIONS signature|privileged
android.permission.VIBRATE normal
com.android.certinstaller.INSTALL_AS_USER signature
com.google.android.gsf.permission.CONNECTION signature
com.google.android.apps.plus.permission.MAPS_RECEIVE signature
android.permission.BIND_ACCESSIBILITY_SERVICE signature
android.server.checkin.CHECKIN.permission.C2D_MESSAGE signature
android.permission.MANAGE_ACTIVITY_STACKS signature|privileged
android.permission.SEND_CALL_LOG_CHANGE signature|privileged
android.permission.HDMI_CEC signature|privileged
android.permission.BIND_INPUT_METHOD signature
android.permission.INVOKE_CARRIER_SETUP signature|privileged
android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST signature|privileged
android.permission.REMOVE_DRM_CERTIFICATES signature|privileged
com.google.android.googleapps.permission.GOOGLE_MAIL_SWITCH signature
android.permission.READ_USER_DICTIONARY normal
android.permission.FILTER_EVENTS signature
android.permission.RECEIVE_EMERGENCY_BROADCAST signature|privileged
com.google.android.finsky.permission.GEARHEAD_SERVICE signature|privileged
android.permission.MODIFY_NETWORK_ACCOUNTING signature|privileged
android.permission.CRYPT_KEEPER signature|privileged
android.permission.BIND_NFC_SERVICE signature
android.permission.START_PRINT_SERVICE_CONFIG_ACTIVITY signature
com.android.voicemail.permission.WRITE_VOICEMAIL signature|privileged
android.permission.GET_DETAILED_TASKS signature
android.permission.NOTIFY_PENDING_SYSTEM_UPDATE signature|privileged
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK signature|privileged
android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS signature|privileged
android.permission.ACCESS_WIFI_STATE normal
com.google.android.apps.enterprise.dmagent.permission.C2D_MESSAGE signature
android.permission.FORCE_BACK signature
com.android.chrome.permission.READ_WRITE_BOOKMARK_FOLDERS signature|privileged
com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS signature
android.permission.CHANGE_WIMAX_STATE normal
android.permission.CAMERA_DISABLE_TRANSMIT_LED signature|privileged
android.permission.REQUEST_INSTALL_PACKAGES normal
android.permission.CONTROL_INCALL_EXPERIENCE signature|privileged
android.permission.MODIFY_PHONE_STATE signature|privileged
com.google.android.gm.email.permission.UPDATE_AUTH_NOTIFICATION signature
com.google.android.googlequicksearchbox.LAUNCH_FROM_DSP_HOTWORD signature|privileged
com.android.launcher.permission.INSTALL_SHORTCUT normal
android.permission.BIND_TEXT_SERVICE signature
android.permission.STATUS_BAR signature|privileged
android.permission.READ_FRAME_BUFFER signature|privileged
com.google.android.gms.DRIVE signature
android.permission.DUMP signature|privileged|development
android.permission.LOCATION_HARDWARE signature|privileged
com.google.android.apps.plus.permission.C2D_MESSAGE signature
com.google.android.marvin.talkback.permission.LABELING signature
com.google.android.googlequicksearchbox.LAUNCH_WITH_RECORDED_AUDIO signature|privileged
android.permission.READ_SOCIAL_STREAM normal
android.permission.WAKE_LOCK normal
android.permission.INJECT_EVENTS signature
android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED signature|privileged
android.permission.BIND_CHOOSER_TARGET_SERVICE signature
android.permission.UPDATE_APP_OPS_STATS signature|privileged|installer
com.android.gallery3d.filtershow.permission.WRITE signature
android.permission.ACCESS_INPUT_FLINGER signature
android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS signature|privileged
com.android.vending.billing.ADD_CREDIT_CARD signature|privileged
android.permission.SET_SCREEN_COMPATIBILITY signature
com.android.vending.billing.IN_APP_NOTIFY.permission.C2D_MESSAGE signature
android.permission.MEDIA_CONTENT_CONTROL signature|privileged
android.permission.DELETE_PACKAGES signature|privileged
com.google.android.calendar.permission.READ_OOBE signature

After briefly glancing at the results it looks like some protection levels have changed. For example, android.permission.NFC is now "normal".

List of Android permissions normal permissions and dangerous permissions in API 23?

As of API level 23, the following permissions are classified as PROTECTION_NORMAL:

ACCESS_LOCATION_EXTRA_COMMANDS
ACCESS_NETWORK_STATE
ACCESS_NOTIFICATION_POLICY
ACCESS_WIFI_STATE
BLUETOOTH
BLUETOOTH_ADMIN
BROADCAST_STICKY
CHANGE_NETWORK_STATE
CHANGE_WIFI_MULTICAST_STATE
CHANGE_WIFI_STATE
DISABLE_KEYGUARD
EXPAND_STATUS_BAR
GET_PACKAGE_SIZE
INSTALL_SHORTCUT
INTERNET
KILL_BACKGROUND_PROCESSES
MODIFY_AUDIO_SETTINGS
NFC
READ_SYNC_SETTINGS
READ_SYNC_STATS
RECEIVE_BOOT_COMPLETED
REORDER_TASKS
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
REQUEST_INSTALL_PACKAGES
SET_ALARM
SET_TIME_ZONE
SET_WALLPAPER
SET_WALLPAPER_HINTS
TRANSMIT_IR
UNINSTALL_SHORTCUT
USE_FINGERPRINT
VIBRATE
WAKE_LOCK
WRITE_SYNC_SETTINGS

and

Dangerous permissions :

READ_CALENDAR
WRITE_CALENDAR
CAMERA
READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
RECORD_AUDIO
READ_PHONE_STATE
READ_PHONE_NUMBERS
CALL_PHONE
ANSWER_PHONE_CALLS
READ_CALL_LOG
WRITE_CALL_LOG
ADD_VOICEMAIL
USE_SIP
PROCESS_OUTGOING_CALLS
BODY_SENSORS
SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE
ACCESS_MEDIA_LOCATION
ACCEPT_HANDOVER
ACCESS_BACKGROUND_LOCATION
ACTIVITY_RECOGNITION

Android 6.0 multiple request permissions More info

Source https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous



Related Topics



Leave a reply



Submit