Skip to main content

App permissions

Android apps define their permissions in the AndroidManifest.xml file that is included with the app. Android will prompt the user for app permissions on the initial launch of the app.

Check App Permissions

On macOS check:

aapt dump badging filename.apk

Additionally, you can review the AndroidManifest.xml file to find the allocated permissions for the app.

grep -i "<uses-permission" AndroidManifest.xml

Permissions Table

NumberPermissionPermission DescriptionCategory
1ACCEPT_HANDOVERAllows a calling app to continue a call which was started in another app.Dangerous
2ACCESS_BACKGROUND_LOCATIONAllows an app to access location in the background.Dangerous
3ACCESS_CHECKIN_PROPERTIESAllows read/write access to the "properties" table in the checkin database, to change values that get uploaded.Unknown
4ACCESS_COARSE_LOCATIONAllows an app to access approximate location.Dangerous
5ACCESS_FINE_LOCATIONAllows an app to access precise location.Dangerous
6ACCESS_LOCATION_EXTRA_COMMANDSAllows an application to access extra location provider commands.Normal
7ACCESS_MEDIA_LOCATIONAllows an application to access any geographic locations persisted in the user's shared collection.Unknown
8ACCESS_NETWORK_STATEAllows applications to access information about networks.Normal
9ACCESS_NOTIFICATION_POLICYMarker permission for applications that wish to access notification policy.Unknown
10ACCESS_WIFI_STATEAllows applications to access information about Wi-Fi networks.Unknown
11ACCOUNT_MANAGERAllows applications to call into AccountAuthenticators.Signature
12ACTIVITY_RECOGNITIONAllows an application to recognize physical activity.Dangerous
13ADD_VOICEMAILAllows an application to add voicemails into the system.Dangerous
14ANSWER_PHONE_CALLSAllows the app to answer an incoming phone call.Dangerous
15BATTERY_STATSAllows an application to collect battery statistics. Protection level: signatureprivileged
16BIND_ACCESSIBILITY_SERVICEMust be required by an AccessibilityService, to ensure that only the system can bind to it.Signature
17BIND_APPWIDGETAllows an application to tell the AppWidget service which application can access AppWidget's data.Unknown
18BIND_AUTOFILL_SERVICEMust be required by a AutofillService, to ensure that only the system can bind to it.Signature
19BIND_CALL_REDIRECTION_SERVICEMust be required by a CallRedirectionService, to ensure that only the system can bind to it.Privileged
20BIND_CARRIER_MESSAGING_CLIENT_SERVICEA subclass of CarrierMessagingClientService must be protected with this permission.Unknown
21BIND_CARRIER_MESSAGING_SERVICEThis constant was deprecated in API level 23. Use BIND_CARRIER_SERVICES insteadUnknown
22BIND_CARRIER_SERVICESThe system process that is allowed to bind to services in carrier apps will have this permission.Unknown
23BIND_CHOOSER_TARGET_SERVICEThis constant was deprecated in API level R.Unknown
24BIND_CONDITION_PROVIDER_SERVICEMust be required by a ConditionProviderService, to ensure that only the system can bind to it.Unknown
25BIND_CONTROLSAllows SystemUI to request third party controls.Unknown
26BIND_DEVICE_ADMINMust be required by device administration receiver, to ensure that only the system can interact with it.Signature
27BIND_DREAM_SERVICEMust be required by an DreamService, to ensure that only the system can bind to it.Unknown
28BIND_INCALL_SERVICEMust be required by a InCallService, to ensure that only the system can bind to it.Unknown
29BIND_INPUT_METHODMust be required by an InputMethodService, to ensure that only the system can bind to it.Signature
30BIND_MIDI_DEVICE_SERVICEMust be required by an MidiDeviceService, to ensure that only the system can bind to it.Signature
31BIND_NFC_SERVICEMust be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.Signature
32BIND_NOTIFICATION_LISTENER_SERVICEMust be required by an NotificationListenerService, to ensure that only the system can bind to it.Unknown
33BIND_PRINT_SERVICEMust be required by a PrintService, to ensure that only the system can bind to it.Signature
34BIND_QUICK_ACCESS_WALLET_SERVICEMust be required by a QuickAccessWalletService to ensure that only the system can bind to it.Unknown
35BIND_QUICK_SETTINGS_TILEAllows an application to bind to third party quick settings tiles.Signature
36BIND_REMOTEVIEWSMust be required by a RemoteViewsService, to ensure that only the system can bind to it.Unknown
37BIND_SCREENING_SERVICEMust be required by a CallScreeningService, to ensure that only the system can bind to it.Privileged
38BIND_TELECOM_CONNECTION_SERVICEMust be required by a ConnectionService, to ensure that only the system can bind to it.Privileged
39BIND_TEXT_SERVICEMust be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.Signature
40BIND_TV_INPUTMust be required by a TvInputService to ensure that only the system can bind to it.Privileged
41BIND_VISUAL_VOICEMAIL_SERVICEMust be required by a link VisualVoicemailService to ensure that only the system can bind to it.Privileged
42BIND_VOICE_INTERACTIONMust be required by a VoiceInteractionService, to ensure that only the system can bind to it.Signature
43BIND_VPN_SERVICEMust be required by a VpnService, to ensure that only the system can bind to it.Signature
44BIND_VR_LISTENER_SERVICEMust be required by an VrListenerService, to ensure that only the system can bind to it.Unknown
45BIND_WALLPAPERMust be required by a WallpaperService, to ensure that only the system can bind to it.Privileged
46BLUETOOTHAllows applications to connect to paired bluetooth devices.Normal
47BLUETOOTH_ADMINAllows applications to discover and pair bluetooth devices.Normal
48BLUETOOTH_PRIVILEGEDAllows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.Privileged
49BODY_SENSORSAllows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.Unknown
50BROADCAST_PACKAGE_REMOVEDAllows an application to broadcast a notification that an application package has been removed.Unknown
51BROADCAST_SMSAllows an application to broadcast an SMS receipt notification.Unknown
52BROADCAST_STICKYAllows an application to broadcast sticky intents.Normal
53BROADCAST_WAP_PUSHAllows an application to broadcast a WAP PUSH receipt notification.Unknown
54CALL_COMPANION_APPAllows an app which implements the InCallService API to be eligible to be enabled as a calling companion app.Dangerous
55CALL_PHONEAllows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.Dangerous
56CALL_PRIVILEGEDAllows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.Unknown
57CAMERARequired to be able to access the camera device.Dangerous
58CAPTURE_AUDIO_OUTPUTAllows an application to capture audio output.Privileged
59CHANGE_COMPONENT_ENABLED_STATEAllows an application to change whether an application component (other than its own) is enabled or not.Privileged
60CHANGE_CONFIGURATIONAllows an application to modify the current configuration, such as locale.Privileged
61CHANGE_NETWORK_STATEAllows applications to change network connectivity state.Normal
62CHANGE_WIFI_MULTICAST_STATEAllows applications to enter Wi-Fi Multicast mode.Normal
63CHANGE_WIFI_STATEAllows applications to change Wi-Fi connectivity state.Normal
64CLEAR_APP_CACHEAllows an application to clear the caches of all installed applications on the device.Privileged
65CONTROL_LOCATION_UPDATESAllows enabling/disabling location update notifications from the radio.Privileged
66DELETE_CACHE_FILESOld permission for deleting an app's cache files, no longer used, but signals for us to quietly ignore calls instead of throwing an exception.Unknown
67DELETE_PACKAGESAllows an application to delete packages.Privileged
68DIAGNOSTICAllows applications to RW to diagnostic resources.Signature
69DISABLE_KEYGUARDAllows applications to disable the keyguard if it is not secure.Normal
70DUMPAllows an application to retrieve state dump information from system services.Privileged
71EXPAND_STATUS_BARAllows an application to expand or collapse the status bar.Normal
72FACTORY_TESTRun as a manufacturer test application, running as the root user.Signature
73FOREGROUND_SERVICEAllows a regular application to use Service.startForeground.Normal
74GET_ACCOUNTSAllows access to the list of accounts in the Accounts Service.Dangerous
75GET_ACCOUNTS_PRIVILEGEDAllows access to the list of accounts in the Accounts Service.Privileged
76GET_PACKAGE_SIZEAllows an application to find out the space used by any package.Normal
77GET_TASKSThis constant was deprecated in API level 21. No longer enforced.Normal
78GLOBAL_SEARCHThis permission can be used on content providers to allow the global search system to access their data.Privileged
79INSTALL_LOCATION_PROVIDERAllows an application to install a location provider into the Location Manager.Privileged
80INSTALL_PACKAGESAllows an application to install packages.Signature
81INSTALL_SHORTCUTAllows an application to install a shortcut in Launcher.Normal
82INSTANT_APP_FOREGROUND_SERVICEAllows an instant app to create foreground services.Signature
83INTERACT_ACROSS_PROFILESAllows interaction across profiles in the same profile group.Privileged
84INTERNETAllows applications to open network sockets.Normal
85KILL_BACKGROUND_PROCESSESAllows an application to call ActivityManager.killBackgroundProcesses(String).Normal
86LOADER_USAGE_STATSAllows a data loader to read a package's access logs.Unknown
87LOCATION_HARDWAREAllows an application to use location features in hardware, such as the geofencing api.Privileged
88MANAGE_DOCUMENTSAllows an application to manage access to documents, usually as part of a document picker.Signature
89MANAGE_EXTERNAL_STORAGEAllows an application a broad access to external storage in scoped storage.Unknown
90MANAGE_OWN_CALLSAllows a calling application which manages it own calls through the self-managed ConnectionService APIs.Normal
91MASTER_CLEARNot for use by third-party applications.Privileged
92MEDIA_CONTENT_CONTROLAllows an application to know what content is playing and control its playback.Privileged
93MODIFY_AUDIO_SETTINGSAllows an application to modify global audio settings.Normal
94MODIFY_PHONE_STATEAllows modification of the telephony state - power on, mmi, etc.Privileged
95MOUNT_FORMAT_FILESYSTEMSAllows formatting file systems for removable storage.Privileged
96MOUNT_UNMOUNT_FILESYSTEMSAllows mounting and unmounting file systems for removable storage.Privileged
97NFCAllows applications to perform I/O operations over NFC.Normal
98NFC_PREFERRED_PAYMENT_INFOAllows applications to receive NFC preferred payment service information.Normal
99NFC_TRANSACTION_EVENTAllows applications to receive NFC transaction events.Normal
100PACKAGE_USAGE_STATSAllows an application to collect component usage statistics. Declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.Unknown
101PERSISTENT_ACTIVITYThis constant was deprecated in API level 15. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.Unknown
102PROCESS_OUTGOING_CALLSThis constant was deprecated in API level 29. Applications should use CallRedirectionService instead of the Intent.ACTION_NEW_OUTGOING_CALL broadcast.Dangerous
103QUERY_ALL_PACKAGESAllows query of any normal app on the device, regardless of manifest declarations.Unknown
104READ_CALENDARAllows an application to read the user's calendar data.Dangerous
105READ_CALL_LOGAllows an application to read the user's call log.Dangerous
106READ_CONTACTSAllows an application to read the user's contacts data.Dangerous
107READ_EXTERNAL_STORAGEAllows an application to read from external storage.Dangerous
108READ_INPUT_STATEThis constant was deprecated in API level 16. The API that used this permission has been removed.Signature
109READ_LOGSAllows an application to read the low-level system log files.Privileged
110READ_PHONE_NUMBERSAllows read access to the device's phone number(s).Dangerous
111READ_PHONE_STATEAllows read only access to phone state, including the phone number of the device, current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.Normal
112READ_PRECISE_PHONE_STATEAllows read only access to precise phone state.Privileged
113READ_SMSAllows an application to read SMS messages.Dangerous
114READ_SYNC_SETTINGSAllows applications to read the sync settings.Normal
115READ_SYNC_STATSAllows applications to read the sync stats.Normal
116READ_VOICEMAILAllows an application to read voicemails in the system.Privileged
117REBOOTRequired to be able to reboot the device.Privileged
118RECEIVE_BOOT_COMPLETEDAllows an application to receive the Intent.ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.Normal
119RECEIVE_MMSAllows an application to monitor incoming MMS messages.Dangerous
120RECEIVE_SMSAllows an application to receive SMS messages.Dangerous
121RECEIVE_WAP_PUSHAllows an application to receive WAP push messages.Dangerous
122RECORD_AUDIOAllows an application to record audio.Dangerous
123REORDER_TASKSAllows an application to change the Z-order of tasks.Normal
124REQUEST_COMPANION_RUN_IN_BACKGROUNDAllows a companion app to run in the background.Normal
125REQUEST_COMPANION_USE_DATA_IN_BACKGROUNDAllows a companion app to use data in the background.Normal
126REQUEST_DELETE_PACKAGESAllows an application to request deleting packages.Normal
127REQUEST_IGNORE_BATTERY_OPTIMIZATIONSPermission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.Normal
128REQUEST_INSTALL_PACKAGESAllows an application to request installing packages.Signature
129REQUEST_PASSWORD_COMPLEXITYAllows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.Normal
130RESTART_PACKAGESThis constant was deprecated in API level 15. The ActivityManager.restartPackage(String) API is no longer supported.Normal
131SEND_RESPOND_VIA_MESSAGEAllows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.Privileged
132SEND_SMSAllows an application to send SMS messages.Dangerous
133SET_ALARMAllows an application to broadcast an Intent to set an alarm for the user.Normal
134SET_ALWAYS_FINISHAllows an application to control whether activities are immediately finished when put in the background.Privileged
135SET_ANIMATION_SCALEModify the global animation scaling factor.Privileged
136SET_DEBUG_APPConfigure an application for debugging.Privileged
137SET_PREFERRED_APPLICATIONSThis constant was deprecated in API level 15. No longer useful, see PackageManager.addPackageToPreferred(String) for details.Signature
138SET_PROCESS_LIMITAllows an application to set the maximum number of (not needed) application processes that can be running.Privileged
139SET_TIMEAllows applications to set the system time directly.Privileged
140SET_TIME_ZONEAllows applications to set the system time zone directly.Privileged
141SET_WALLPAPERAllows applications to set the wallpaper.Normal
142SET_WALLPAPER_HINTSAllows applications to set the wallpaper hints.Normal
143SIGNAL_PERSISTENT_PROCESSESAllow an application to request that a signal be sent to all persistent processes.Privileged
144SMS_FINANCIAL_TRANSACTIONSAllows financial apps to read filtered sms messages.Signature
145START_VIEW_PERMISSION_USAGEAllows the holder to start the permission usage screen for an app.Signature
146STATUS_BARAllows an application to open, close, or disable the status bar and its icons.Privileged
147SYSTEM_ALERT_WINDOWAllows an app to create windows using the type WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps.Signature
148TRANSMIT_IRAllows using the device's IR transmitter, if available.Normal
149UNINSTALL_SHORTCUTDon't use this permission in your app.Normal
150UPDATE_DEVICE_STATSAllows an application to update device statistics.Privileged
151USE_BIOMETRICAllows an app to use device supported biometric modalities.Normal
152USE_FINGERPRINTThis constant was deprecated in API level 28. Applications should request USE_BIOMETRIC insteadNormal
153USE_FULL_SCREEN_INTENTRequired for apps targeting Build.VERSION_CODES.Q that want to use notification full screen intents.Normal
154USE_SIPAllows an application to use SIP service.Dangerous
155VIBRATEAllows access to the vibrator.Normal
156WAKE_LOCKAllows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.Normal
157WRITE_APN_SETTINGSAllows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.Privileged
158WRITE_CALENDARAllows an application to write the user's calendar data.Dangerous
159WRITE_CALL_LOGAllows an application to write (but not read) the user's call log data.Dangerous
160WRITE_CONTACTSAllows an application to write the user's contacts data.Dangerous
161WRITE_EXTERNAL_STORAGEAllows an application to write to external storage.Dangerous
162WRITE_GSERVICESAllows an application to modify the Google service map.Privileged
163WRITE_SECURE_SETTINGSAllows an application to read or write the secure system settings.Privileged
164WRITE_SETTINGSAllows an application to read or write the system settings.Signature
165WRITE_SYNC_SETTINGSAllows applications to write the sync settings.Normal
166WRITE_VOICEMAILAllows an application to modify and remove existing voicemails in the system.Privileged
167USE_CREDENTIALSUsed prior to Android 6.0. Allows the app to request authentication tokens.Deprecated
168READ_PROFILEAllows the app to read profile information stored on the device, such as username and contact information.Unknown