Android Manifest Permissions Reference

Look up android.permission identifiers for AndroidManifest.xml — 174 entries with their category and a note on what each one allows. Filter by name, category or note, then copy the identifier.

Runs locally in your browser
android.permission.ACCEPT_HANDOVERPhone and messagingRuntime permission, added in API 28: a calling app may continue a call that was started in another app.
android.permission.ACCESS_BACKGROUND_LOCATIONLocationRuntime permission for background location. From Android 10 it is requested separately, and the user can keep answering “While using the app”.
android.permission.ACCESS_CHECKIN_PROPERTIESSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.ACCESS_COARSE_LOCATIONLocationAllows access to approximate device location.
android.permission.ACCESS_FINE_LOCATIONLocationAllows access to precise device location.
android.permission.ACCESS_LOCATION_EXTRA_COMMANDSLocationAllows access to extra commands exposed by location providers.
android.permission.ACCESS_MEDIA_LOCATIONLocationRuntime permission for the GPS coordinates stored in the metadata of photos and videos the app can already read.
android.permission.ACCESS_MOCK_LOCATIONLocationDeprecated in API 23. It let a test app supply mock positions to the location manager; mock locations are now set from the developer options or a test provider.
android.permission.ACCESS_NETWORK_STATENetwork and connectivityAllows access to information about active and available networks.
android.permission.ACCESS_NOTIFICATION_POLICYNotificationsNormal permission needed to read or change the Do Not Disturb state after the user allows notification access.
android.permission.ACCESS_SURFACE_FLINGERSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.ACCESS_WIFI_STATENetwork and connectivityAllows access to information about Wi-Fi networks.
android.permission.ACCOUNT_MANAGERAccounts and credentialsAllows calls into account authenticators; this is not general access to every account credential.
android.permission.ACTIVITY_RECOGNITIONSensors and healthRuntime permission for step counters and activity detection; Android 10 and later also ask for it when the step-counter sensor is used.
android.permission.ANSWER_PHONE_CALLSPhone and messagingRuntime permission, added in API 26, for accepting or rejecting incoming calls through TelecomManager.
android.permission.AUTHENTICATE_ACCOUNTSAccounts and credentialsDeprecated in API 23. It was held by an account authenticator that manages its own account type; third-party authenticators are no longer part of the public account API.
android.permission.BATTERY_STATSSystem and device controlAllows collection of battery statistics; current Android versions restrict it to privileged or development use.
android.permission.BIND_APPWIDGETApps and tasksSystem-facing binding permission. It is normally declared by the service so only Android can bind to it.
android.permission.BIND_DEVICE_ADMINSystem and device controlSystem-facing binding permission. It is normally declared by the service so only Android can bind to it.
android.permission.BIND_INPUT_METHODSystem and device controlSystem-facing binding permission. It is normally declared by the service so only Android can bind to it.
android.permission.BIND_REMOTEVIEWSSystem and device controlSystem-facing binding permission. It is normally declared by the service so only Android can bind to it.
android.permission.BIND_WALLPAPERSystem interfaceSystem-facing binding permission. It is normally declared by the service so only Android can bind to it.
android.permission.BLUETOOTHNetwork and connectivityLegacy Bluetooth permission. Android 12 and later use nearby-device permissions for many Bluetooth operations.
android.permission.BLUETOOTH_ADMINNetwork and connectivityLegacy Bluetooth permission. Android 12 and later use nearby-device permissions for many Bluetooth operations.
android.permission.BLUETOOTH_ADVERTISENetwork and connectivityRuntime permission for advertising over Bluetooth LE on Android 12 and later; it joins BLUETOOTH_SCAN and BLUETOOTH_CONNECT.
android.permission.BLUETOOTH_CONNECTNetwork and connectivityRuntime permission required to connect to paired Bluetooth devices on Android 12 and later, including headsets and car kits.
android.permission.BLUETOOTH_SCANNetwork and connectivityRuntime permission for scanning for Bluetooth devices on Android 12 and later. Declare neverForLocation when the results are not used to work out location.
android.permission.BODY_SENSORSSensors and healthRuntime permission for body sensors such as heart-rate monitors.
android.permission.BODY_SENSORS_BACKGROUNDSensors and healthRuntime permission, added in API 33, for reading body sensors while the app is in the background.
android.permission.BRICKSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.BROADCAST_PACKAGE_REMOVEDApps and tasksSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.BROADCAST_SMSPhone and messagingSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.BROADCAST_STICKYSystem and device controlNormal permission for sending sticky broadcasts. They were deprecated in API 21 because a stale value can be read at any later time.
android.permission.BROADCAST_WAP_PUSHPhone and messagingSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.CALL_PHONEPhone and messagingAllows an app to initiate a phone call without requiring confirmation in the dialer UI.
android.permission.CALL_PRIVILEGEDPhone and messagingAllows calls to any number, including emergency numbers. This permission is restricted to privileged apps.
android.permission.CAMERACamera, audio, and mediaRequired to access camera devices.
android.permission.CELL_PHONE_MASTER_EXPhone and messagingVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
android.permission.CHANGE_COMPONENT_ENABLED_STATESystem and device controlAllows changing whether another application component is enabled.
android.permission.CHANGE_CONFIGURATIONSystem and device controlAllows modification of the current device configuration, such as locale settings; normally restricted.
android.permission.CHANGE_NETWORK_STATENetwork and connectivityAllows applications to change network connectivity state.
android.permission.CHANGE_WIFI_MULTICAST_STATENetwork and connectivityAllows entering Wi-Fi multicast mode when the API and device support it.
android.permission.CHANGE_WIFI_STATENetwork and connectivityAllows changing Wi-Fi connectivity state on Android versions where the operation is permitted.
android.permission.CLEAR_APP_CACHEApps and tasksPrivileged cache-management permission; ordinary third-party apps cannot clear arbitrary application caches.
android.permission.CLEAR_APP_USER_DATAApps and tasksSignature-only permission for clearing another app’s user data. The platform uses it in Settings; apps can only clear their own data.
android.permission.CONTROL_LOCATION_UPDATESLocationSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.CWJ_GROUPSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
android.permission.DELETE_CACHE_FILESStorage and filesPrivileged cache-management permission; ordinary third-party apps cannot clear arbitrary application caches.
android.permission.DELETE_PACKAGESApps and tasksPrivileged package-management permission for installing or deleting applications.
android.permission.DETECT_SCREEN_CAPTURESystem interfaceNormal permission, added in API 34, to be told when the user takes a screenshot.
android.permission.DEVICE_POWERSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.DIAGNOSTICSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.DISABLE_KEYGUARDSystem interfaceAllows dismissal or disabling of a non-secure keyguard subject to current Android restrictions.
android.permission.DUMPSystem and device controlAllows access to system-service diagnostic output and is restricted to privileged or development use.
android.permission.EXPAND_STATUS_BARSystem interfaceSystem-level permission for controlling or expanding the status bar; not available to ordinary apps.
android.permission.FACTORY_TESTSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.FLASHLIGHTCamera, audio, and mediaLegacy flashlight permission. Modern apps normally control the torch through camera APIs and the applicable camera permission.
android.permission.FORCE_BACKSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.FOREGROUND_SERVICEApps and tasksNormal permission, required since Android 9 to start a foreground service. The ongoing notification still has to be shown.
android.permission.FOREGROUND_SERVICE_CAMERAApps and tasksForeground-service type to declare alongside FOREGROUND_SERVICE when the service keeps using the camera (Android 14 and later).
android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICEApps and tasksForeground-service type for services that talk to connected hardware such as Bluetooth, USB or NFC devices.
android.permission.FOREGROUND_SERVICE_DATA_SYNCApps and tasksForeground-service type for uploads, downloads and synchronisation. Android 15 limits how long this type may run.
android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENTApps and tasksForeground-service type for file operations such as moving, copying or compressing local files.
android.permission.FOREGROUND_SERVICE_HEALTHApps and tasksForeground-service type for fitness and health tracking that continues while the screen is off.
android.permission.FOREGROUND_SERVICE_LOCATIONApps and tasksForeground-service type for services that keep using location; a location permission is still required as well.
android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACKApps and tasksForeground-service type for audio or video playback that carries on in the background.
android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSINGApps and tasksForeground-service type introduced in Android 15 for transcoding and other media processing jobs.
android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTIONApps and tasksForeground-service type for screen capture or casting; the user still approves each capture session.
android.permission.FOREGROUND_SERVICE_MICROPHONEApps and tasksForeground-service type for services that record audio while the app is not in the foreground.
android.permission.FOREGROUND_SERVICE_PHONE_CALLApps and tasksForeground-service type for services that keep an ongoing call connected, used with the self-managed ConnectionService API.
android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGINGApps and tasksForeground-service type for continuing a conversation on another device, as used by messaging apps.
android.permission.FOREGROUND_SERVICE_SPECIAL_USEApps and tasksForeground-service type for cases that fit none of the others. Google Play asks for a written justification and reviews it.
android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTEDApps and tasksForeground-service type for the roles Android exempts from the usual foreground-service timeouts, such as device administration.
android.permission.GET_ACCOUNTSAccounts and credentialsAllows access to the account list as permitted by the target Android version and account visibility rules.
android.permission.GET_PACKAGE_SIZEApps and tasksAllows querying the storage space used by an application package.
android.permission.GET_TASKSApps and tasksDeprecated since API level 21 and no longer enforced. Do not use it to discover other apps.
android.permission.GLOBAL_SEARCHSystem and device controlAllows the global search system to access data exposed by a content provider.
android.permission.HARDWARE_TESTSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.HIGH_SAMPLING_RATE_SENSORSSensors and healthNormal permission required since Android 12 to read motion or position sensors faster than 200 Hz.
android.permission.INJECT_EVENTSSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.INSTALL_LOCATION_PROVIDERLocationAllows installation of a location provider and is restricted to system or privileged software.
android.permission.INSTALL_PACKAGESApps and tasksPrivileged package-management permission for installing or deleting applications.
android.permission.INTERNAL_SYSTEM_WINDOWSystem interfaceSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.INTERNETNetwork and connectivityAllows applications to open network sockets.
android.permission.KILL_BACKGROUND_PROCESSESSystem and device controlAllows an application to call ActivityManager.killBackgroundProcesses for another package where permitted.
android.permission.MANAGE_ACCOUNTSAccounts and credentialsNormal permission deprecated in API 23; it allowed adding or removing accounts of other applications through AccountManager.
android.permission.MANAGE_APP_TOKENSApps and tasksSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.MANAGE_EXTERNAL_STORAGEStorage and filesSpecial access to the whole shared storage on Android 11 and later (Settings → All files access); Play limits it to file managers, backup and similar apps.
android.permission.MASTER_CLEARSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.MODIFY_AUDIO_SETTINGSCamera, audio, and mediaAllows modification of global audio settings.
android.permission.MODIFY_PHONE_STATEPhone and messagingAllows modification of telephony state and is restricted to privileged applications.
android.permission.MOUNT_FORMAT_FILESYSTEMSStorage and filesPrivileged permission for mounting, unmounting, or formatting removable storage file systems.
android.permission.MOUNT_UNMOUNT_FILESYSTEMSStorage and filesPrivileged permission for mounting, unmounting, or formatting removable storage file systems.
android.permission.MTWEAK_FORUMSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
android.permission.MTWEAK_USERSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
android.permission.NEARBY_WIFI_DEVICESNetwork and connectivityRuntime permission for Wi-Fi scanning and connections to nearby devices on Android 13 and later, so location permission is not needed for those uses.
android.permission.NFCNetwork and connectivityAllows applications to perform I/O operations over NFC.
android.permission.PERSISTENT_ACTIVITYApps and tasksDeprecated since API level 15. Applications should not attempt to keep activities permanently resident.
android.permission.POST_NOTIFICATIONSNotificationsRuntime permission for posting notifications. On Android 13 and later an app cannot show any notification until the user grants it.
android.permission.PROCESS_OUTGOING_CALLSPhone and messagingDeprecated since API level 29. Use CallRedirectionService for supported call-redirection workflows.
android.permission.QUERY_ALL_PACKAGESApps and tasksNormal permission that exposes every installed package. Google Play requires a declared use case, and a narrower <queries> element is preferred.
android.permission.RANGINGNetwork and connectivityRuntime permission for distance measurement to nearby devices through the RangingManager API.
android.permission.READ_CALENDARPersonal dataAllows reading the user’s calendar data.
android.permission.READ_CALL_LOGPhone and messagingRuntime permission for the call log. It is a separate grant from phone state, and full access on Android 9 and later goes to the default dialer.
android.permission.READ_CELL_BROADCASTSPhone and messagingRuntime permission for reading previously received cell-broadcast messages such as emergency alerts, and for observing new ones.
android.permission.READ_CONTACTSPersonal dataAllows reading the user’s contacts data.
android.permission.READ_EXTERNAL_STORAGEStorage and filesRuntime permission for reading shared storage. Android 13 and later replaced it with the per-type READ_MEDIA_* permissions for media files.
android.permission.READ_FRAME_BUFFERCamera, audio, and mediaSignature-only permission for reading the screen frame buffer, which is how system screenshots are taken. Apps use MediaProjection instead.
android.permission.READ_INPUT_STATESystem and device controlDeprecated since API level 16; the API protected by this permission was removed.
android.permission.READ_LOGSSystem and device controlAllows reading low-level system logs and is highly restricted on current Android versions.
android.permission.READ_MEDIA_AUDIOStorage and filesRuntime permission for audio files on Android 13 and later, replacing READ_EXTERNAL_STORAGE for music and recordings.
android.permission.READ_MEDIA_IMAGESStorage and filesRuntime permission for image files on Android 13 and later.
android.permission.READ_MEDIA_VIDEOStorage and filesRuntime permission for video files on Android 13 and later.
android.permission.READ_MEDIA_VISUAL_USER_SELECTEDStorage and filesRuntime permission introduced with the partial photo and video access of Android 14: it covers only the items the user picked.
android.permission.READ_PHONE_NUMBERSPhone and messagingRuntime permission, added in API 26, for the device phone numbers; it is granted separately from phone state.
android.permission.READ_PHONE_STATEPhone and messagingAllows read-only access to phone state subject to the target SDK and current Android privacy restrictions.
android.permission.READ_SMSPhone and messagingAllows reading SMS messages; access is dangerous and subject to Play policy and role restrictions.
android.permission.READ_SYNC_SETTINGSSystem and device controlAllows reading synchronization settings or statistics exposed by the platform.
android.permission.READ_SYNC_STATSSystem and device controlAllows reading synchronization settings or statistics exposed by the platform.
android.permission.REBOOTSystem and device controlAllows rebooting the device and is restricted to system or privileged applications.
android.permission.RECEIVE_BOOT_COMPLETEDSystem and device controlAllows receiving the BOOT_COMPLETED broadcast after the system finishes booting.
android.permission.RECEIVE_MMSPhone and messagingAllows monitoring incoming MMS messages, subject to role and policy restrictions.
android.permission.RECEIVE_SMSPhone and messagingAllows receiving SMS broadcasts, subject to platform role and policy restrictions.
android.permission.RECEIVE_WAP_PUSHPhone and messagingAllows receiving WAP Push messages, subject to current platform restrictions.
android.permission.RECORD_AUDIOCamera, audio, and mediaAllows access to the microphone for audio recording.
android.permission.REORDER_TASKSApps and tasksAllows changing the Z-order of tasks in the activity stack.
android.permission.REQUEST_DELETE_PACKAGESApps and tasksNormal permission to ask the user to uninstall another app through the system confirmation dialog.
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONSSystem and device controlNormal permission to ask for an exemption from Doze. The request has to be justified or the store may reject the app.
android.permission.REQUEST_INSTALL_PACKAGESApps and tasksSpecial access to request app installs: the user switches on “Install unknown apps” for that source, and Play restricts who may ask.
android.permission.RESTART_PACKAGESApps and tasksDeprecated since API level 15. Use killBackgroundProcesses where appropriate instead.
android.permission.SCHEDULE_EXACT_ALARMApps and tasksSpecial app access for exact alarms on Android 12 and later. The user grants it under “Alarms & reminders”, and apps targeting Android 13 start without it.
android.permission.SEND_SMSPhone and messagingAllows sending SMS messages and is subject to dangerous-permission and store-policy restrictions.
android.permission.SET_ACTIVITY_WATCHERApps and tasksSignature-only permission that lets a process observe activity starts and stops; it is only relevant to platform tooling.
android.permission.SET_ALWAYS_FINISHSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.SET_ANIMATION_SCALESystem interfacePrivileged permission for changing global animation scale settings.
android.permission.SET_DEBUG_APPApps and tasksPrivileged or development permission for configuring a debug application.
android.permission.SET_ORIENTATIONSystem interfaceSystem-level permission for controlling screen orientation outside normal activity APIs.
android.permission.SET_PREFERRED_APPLICATIONSApps and tasksDeprecated since API level 15; the former preferred-application APIs are no longer supported.
android.permission.SET_PROCESS_LIMITSystem and device controlPrivileged permission for changing the global process limit.
android.permission.SET_TIMESystem and device controlAllows setting the device clock and is restricted to system or privileged applications.
android.permission.SET_TIME_ZONESystem and device controlAllows setting the device time zone and is restricted to system or privileged applications.
android.permission.SET_WALLPAPERSystem interfaceAllows setting wallpaper or wallpaper dimension hints through supported APIs.
android.permission.SET_WALLPAPER_HINTSSystem interfaceAllows setting wallpaper or wallpaper dimension hints through supported APIs.
android.permission.SIGNAL_PERSISTENT_PROCESSESSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.STATUS_BARSystem interfaceSystem-level permission for controlling or expanding the status bar; not available to ordinary apps.
android.permission.SUBSCRIBED_FEEDS_READSystem and device controlLegacy normal permission from the RSS-era subscribed-feeds provider, which is no longer part of Android.
android.permission.SUBSCRIBED_FEEDS_WRITESystem and device controlLegacy normal permission for writing to the retired subscribed-feeds provider; it has no effect on current Android versions.
android.permission.SYSTEM_ALERT_WINDOWSystem interfaceAllows drawing overlay windows above other apps after the user grants special access in Settings.
android.permission.TRANSMIT_IRSystem and device controlNormal permission to use the device’s infrared transmitter, where the hardware has one.
android.permission.UPDATE_DEVICE_STATSSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.USE_BIOMETRICAccounts and credentialsNormal permission for BiometricPrompt; apps still have to offer a device-credential fallback where the platform requires one.
android.permission.USE_CREDENTIALSAccounts and credentialsLegacy account-credential permission; current account and credential APIs impose additional visibility and user-consent rules.
android.permission.USE_EXACT_ALARMApps and tasksNormal permission that allows exact alarms without the special toggle, and is accepted only for alarm-clock and calendar apps.
android.permission.USE_FINGERPRINTAccounts and credentialsFingerprint permission deprecated in API 28 in favour of USE_BIOMETRIC; older apps still declare it for devices below Android 9.
android.permission.USE_FULL_SCREEN_INTENTNotificationsLets a notification open a full-screen activity, as incoming calls and alarms do. Android 14 and later grant it on Google Play only to calling and alarm apps.
android.permission.USE_SIPNetwork and connectivityAllows use of supported SIP services. Availability depends on the device and Android version.
android.permission.UWB_RANGINGNetwork and connectivityRuntime permission for ultra-wideband ranging, added in API 31.
android.permission.VIBRATESystem and device controlAllows control of the device vibrator.
android.permission.WAKE_LOCKSystem and device controlAllows use of wake locks to keep the CPU or screen active. Release locks promptly to limit battery use.
android.permission.WRITE_APN_SETTINGSSystem and device controlSystem, signature, or legacy permission. Ordinary third-party apps generally cannot obtain it; verify its current protection level in the target SDK.
android.permission.WRITE_CALENDARPersonal dataAllows writing the user’s calendar data.
android.permission.WRITE_CALL_LOGPhone and messagingRuntime permission for writing the call log, normally held by the default dialer.
android.permission.WRITE_CONTACTSPersonal dataAllows writing the user’s contacts data.
android.permission.WRITE_EXTERNAL_STORAGEStorage and filesLegacy write permission for shared external storage. Scoped storage and media-specific APIs apply on current Android versions.
android.permission.WRITE_GSERVICESSystem and device controlSignature-only permission for writing the Google services settings database; it is reserved for the platform build.
android.permission.WRITE_SECURE_SETTINGSSystem and device controlAllows reading or writing secure system settings and is restricted to system or privileged applications.
android.permission.WRITE_SETTINGSSystem and device controlAllows changing system settings after the user grants the app special access in Settings.
android.permission.WRITE_SMSPhone and messagingAllows writing SMS data where the platform and default-handler role permit it.
com.android.alarm.permission.SET_ALARMSystem and device controlAllows an application to create alarms through the alarm-clock interface.
com.android.browser.permission.READ_HISTORY_BOOKMARKSPersonal dataLegacy permission of the old Browser app for reading browser history and bookmarks. Modern browsers keep that data private and the provider is no longer part of Android.
com.android.browser.permission.WRITE_HISTORY_BOOKMARKSPersonal dataLegacy permission of the old Browser app for writing browser history and bookmarks; it is not part of current Android releases.
com.android.launcher.permission.INSTALL_SHORTCUTSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
com.android.launcher.permission.UNINSTALL_SHORTCUTSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.
com.android.voicemail.permission.ADD_VOICEMAILSystem and device controlVendor-specific or non-SDK permission. Its behavior is defined by the component that owns it, not by the public Android permission API.

How to use the table

Type a permission name, a category, or a word from a note and the table keeps the matching rows: 174 identifiers, each with the area it belongs to and a line on what it allows. Every runtime (dangerous) permission the platform manifest declares is in the list.

Filtering hides rows inside the page, the counter says how many entries are left, and every row has its own copy button for the identifier.

  1. Search by identifier, category, or a word from the note — “camera”, “location”, “foreground” and “screenshot” all filter the list.
  2. Read the category to find the area: location, phone and messaging, storage and files, notifications, sensors and health, apps and tasks, and so on.
  3. Use the note to see which kind of permission it is: runtime (dangerous), normal, special app access, or a signature or system permission that ordinary apps cannot hold.
  4. Copy the identifier with its row button and paste it into <uses-permission android:name="…" /> in AndroidManifest.xml.

What the list covers, and what to check

Every runtime permission, plus the classic list

The 174 identifiers come from two groups. The classic manifest list contributes the long-standing entries, including legacy, signature-only and vendor-specific permissions that old projects still declare.

The second group is what apps declare today: every runtime (dangerous) permission in the platform manifest — POST_NOTIFICATIONS, READ_MEDIA_IMAGES, ACCESS_BACKGROUND_LOCATION, BLUETOOTH_SCAN, NEARBY_WIFI_DEVICES, BODY_SENSORS and the rest — together with normal permissions such as FOREGROUND_SERVICE and its typed variants, USE_EXACT_ALARM and QUERY_ALL_PACKAGES.

Categories and notes

The category sorts an identifier by area — location, network and connectivity, phone and messaging, camera, audio and media, storage and files, notifications, sensors and health, personal data, accounts and credentials, apps and tasks, system interface, system and device control.

The note describes what the permission allows, and says when an entry is deprecated, signature-only or vendor-specific instead of describing a capability an ordinary app cannot use.

The protection level depends on the API level

One identifier can behave differently across releases: READ_EXTERNAL_STORAGE is a runtime permission, MANAGE_EXTERNAL_STORAGE is special access the user enables in Settings, and SCHEDULE_EXACT_ALARM is granted through “Alarms & reminders” from Android 12.

The note tells you which kind of permission you are looking at; the exact protection level for the API level you ship belongs in the SDK reference.

Filtering and copying stay in the page

The table is part of the page, filtering only hides rows, and the copy buttons use the clipboard. No request carries the search term, and reading or copying an entry needs no account.

Identifiers are shown exactly as they have to be written in the manifest in every language; only the category and the note are translated.

Recent tools: