public
static
final
class
Manifest.permission
extends Object
| java.lang.Object | |
| ↳ | android.Manifest.permission |
StringACCEPT_HANDOVER
Allows a calling app to continue a call which was started in another app.
StringACCESS_BACKGROUND_LOCATION
Allows an app to access location in the background.
StringACCESS_BIOMETRIC_SENSOR_STRENGTHS
Allows an application to retrieve the sensor security strengths of the biometric sensors.
StringACCESS_BLOBS_ACROSS_USERS
Allows an application to access data blobs across users.
StringACCESS_CHECKIN_PROPERTIES
Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
StringACCESS_COARSE_LOCATION
Allows an app to access approximate location.
StringACCESS_FINE_LOCATION
Allows an app to access precise location.
StringACCESS_HIDDEN_PROFILES
Allows applications to access profiles with
android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN user property, e.g.
StringACCESS_LAUNCHER_DATA
This permission protects a content provider within home/launcher applications, enabling management of home screen metadata such as shortcut placement, launch intents, and labels.
StringACCESS_LOCAL_NETWORK
Required to be able to advertise and connect to local network devices.
StringACCESS_LOCATION_EXTRA_COMMANDS
Allows an application to access extra location provider commands.
StringACCESS_MEDIA_LOCATION
Allows an application to access any geographic locations persisted in the user's shared collection.
StringACCESS_NETWORK_STATE
Allows applications to access information about networks.
StringACCESS_NOTIFICATION_POLICY
Marker permission for applications that wish to access notification policy.
StringACCESS_WIFI_STATE
Allows applications to access information about Wi-Fi networks.
StringACCOUNT_MANAGER
Allows applications to call into AccountAuthenticators.
StringACTIVITY_RECOGNITION
Allows an application to recognize physical activity.
StringADD_VOICEMAIL
Allows an application to add voicemails into the system.
StringANSWER_PHONE_CALLS
Allows the app to answer an incoming phone call.
StringAPPLY_PICTURE_PROFILE
Allows an app to apply a ERROR(/MediaQualityManager.PictureProfile) to a layer via
ERROR(/MediaCodec.PARAMETER_KEY_PICTURE_PROFILE) and, additionally, system apps via
ERROR(/SurfaceControl.Transaction#setPictureProfileHandle).
StringBATTERY_STATS
Allows an application to collect battery statistics
Protection level: signature|privileged|development
StringBIND_ACCESSIBILITY_SERVICE
Must be required by an AccessibilityService,
to ensure that only the system can bind to it.
StringBIND_ALTERNATIVE_MESSAGE_TRANSPORT_SERVICE
Permission needed to ensure that only the system process can bind with the
AlternativeMessageTransportService.
StringBIND_APPWIDGET
Allows an application to tell the AppWidget service which application can access AppWidget's data.
StringBIND_APP_FUNCTION_SERVICE
Must be required by an AppFunctionService,
to ensure that only the system can bind to it.
StringBIND_AUTOFILL_SERVICE
Must be required by a AutofillService,
to ensure that only the system can bind to it.
StringBIND_CALL_REDIRECTION_SERVICE
Must be required by a CallRedirectionService,
to ensure that only the system can bind to it.
StringBIND_CARRIER_MESSAGING_CLIENT_SERVICE
A subclass of CarrierMessagingClientService must be protected with this permission.
StringBIND_CARRIER_MESSAGING_SERVICE
This constant was deprecated
in API level 23.
Use BIND_CARRIER_SERVICES instead
StringBIND_CARRIER_SERVICES
The system process that is allowed to bind to services in carrier apps will have this permission.
StringBIND_CHOOSER_TARGET_SERVICE
This constant was deprecated in API level 30. For publishing direct share targets, please follow the instructions in https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets instead.
StringBIND_COMPANION_DEVICE_SERVICE
Must be required by any
CompanionDeviceServices
to ensure that only the system can bind to it.
StringBIND_CONDITION_PROVIDER_SERVICE
Must be required by a ConditionProviderService,
to ensure that only the system can bind to it.
StringBIND_CONTROLS
Allows SystemUI to request third party controls.
StringBIND_CREDENTIAL_PROVIDER_SERVICE
Must be required by a CredentialProviderService to ensure that only the system can bind to it.
StringBIND_DATA_MIGRATION_FOR_PRIVATECOMPUTE
Allows the system to bind to an application's data migration service for Private Compute.
StringBIND_DEVICE_ADMIN
Must be required by device administration receiver, to ensure that only the system can interact with it.
StringBIND_DREAM_SERVICE
Must be required by an DreamService,
to ensure that only the system can bind to it.
StringBIND_INCALL_SERVICE
Must be required by a InCallService,
to ensure that only the system can bind to it.
StringBIND_INPUT_METHOD
Must be required by an InputMethodService,
to ensure that only the system can bind to it.
StringBIND_MIDI_DEVICE_SERVICE
Must be required by an MidiDeviceService,
to ensure that only the system can bind to it.
StringBIND_NFC_SERVICE
Must be required by a HostApduService
or OffHostApduService to ensure that only
the system can bind to it.
StringBIND_NOTIFICATION_LISTENER_SERVICE
Must be required by an NotificationListenerService,
to ensure that only the system can bind to it.
StringBIND_PRINT_SERVICE
Must be required by a PrintService,
to ensure that only the system can bind to it.
StringBIND_QUICK_ACCESS_WALLET_SERVICE
Must be required by a QuickAccessWalletService
to ensure that only the system can bind to it.
StringBIND_QUICK_SETTINGS_TILE
Allows an application to bind to third party quick settings tiles.
StringBIND_REMOTEVIEWS
Must be required by a RemoteViewsService,
to ensure that only the system can bind to it.
StringBIND_SCREENING_SERVICE
Must be required by a CallScreeningService,
to ensure that only the system can bind to it.
StringBIND_TELECOM_CONNECTION_SERVICE
Must be required by a ConnectionService,
to ensure that only the system can bind to it.
StringBIND_TEXT_SERVICE
Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.
StringBIND_TV_AD_SERVICE
Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can bind to it.
StringBIND_TV_INPUT
Must be required by a TvInputService
to ensure that only the system can bind to it.
StringBIND_TV_INTERACTIVE_APP
Must be required by a TvInteractiveAppService
to ensure that only the system can bind to it.
StringBIND_VISUAL_VOICEMAIL_SERVICE
Must be required by a link VisualVoicemailService to ensure that
only the system can bind to it.
StringBIND_VOICE_INTERACTION
Must be required by a VoiceInteractionService,
to ensure that only the system can bind to it.
StringBIND_VPN_SERVICE
Must be required by a VpnService,
to ensure that only the system can bind to it.
StringBIND_VR_LISTENER_SERVICE
Must be required by an VrListenerService, to ensure that only
the system can bind to it.
StringBIND_WALLPAPER
Must be required by a WallpaperService,
to ensure that only the system can bind to it.
StringBLUETOOTH
Allows applications to connect to paired bluetooth devices.
StringBLUETOOTH_ADMIN
Allows applications to discover and pair bluetooth devices.
StringBLUETOOTH_ADVERTISE
Required to be able to advertise to nearby Bluetooth devices.
StringBLUETOOTH_CONNECT
Required to be able to connect to paired Bluetooth devices.
StringBLUETOOTH_PRIVILEGED
Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
StringBLUETOOTH_SCAN
Required to be able to discover and pair nearby Bluetooth devices.
StringBODY_SENSORS
Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
StringBODY_SENSORS_BACKGROUND
Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
StringBROADCAST_PACKAGE_REMOVED
Allows an application to broadcast a notification that an application package has been removed.
StringBROADCAST_SMS
Allows an application to broadcast an SMS receipt notification.
StringBROADCAST_STICKY
Allows an application to broadcast sticky intents.
StringBROADCAST_WAP_PUSH
Allows an application to broadcast a WAP PUSH receipt notification.
StringCALL_COMPANION_APP
Allows an app which implements the
InCallService API to be eligible to be enabled as a
calling companion app.
StringCALL_PHONE
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
StringCALL_PRIVILEGED
Allows 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.
StringCAMERA
Required to be able to access the camera device.
StringCAPTURE_AUDIO_OUTPUT
Allows an application to capture audio output.
StringCAPTURE_KEYBOARD
Allows the currently focused application to be able to consume keys before Android system get chance to process system keys and shortcuts.
StringCHANGE_COMPONENT_ENABLED_STATE
Allows an application to change whether an application component (other than its own) is enabled or not.
StringCHANGE_CONFIGURATION
Allows an application to modify the current configuration, such as locale.
StringCHANGE_NETWORK_STATE
Allows applications to change network connectivity state.
StringCHANGE_WIFI_MULTICAST_STATE
Allows applications to enter Wi-Fi Multicast mode.
StringCHANGE_WIFI_STATE
Allows applications to change Wi-Fi connectivity state.
StringCLEAR_APP_CACHE
Allows an application to clear the caches of all installed applications on the device.
StringCONFIGURE_WIFI_DISPLAY
Allows an application to configure and connect to Wifi displays
StringCONTROL_LOCATION_UPDATES
Allows enabling/disabling location update notifications from the radio.
StringCREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS
Allows a browser to invoke the set of query apis to get metadata about credential candidates prepared during the CredentialManager.prepareGetCredential API.
StringCREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS
Allows specifying candidate credential providers to be queried in Credential Manager get flows, or to be preferred as a default in the Credential Manager create flows.
StringCREDENTIAL_MANAGER_SET_ORIGIN
Allows a browser to invoke credential manager APIs on behalf of another RP.
StringDELETE_CACHE_FILES
Old permission for deleting an app's cache files, no longer used, but signals for us to quietly ignore calls instead of throwing an exception.
StringDELETE_PACKAGES
Allows an application to delete packages.
StringDELIVER_COMPANION_MESSAGES
Allows an application to deliver companion messages to system
StringDETECT_SCREEN_CAPTURE
Allows an application to get notified when a screen capture of its windows is attempted.
StringDETECT_SCREEN_RECORDING
Allows an application to get notified when it is being recorded.
StringDIAGNOSTIC
Allows applications to RW to diagnostic resources.
StringDISABLE_KEYGUARD
Allows applications to disable the keyguard if it is not secure.
StringDUMP
Allows an application to retrieve state dump information from system services.
StringENFORCE_UPDATE_OWNERSHIP
Allows an application to indicate via PackageInstaller.SessionParams.setRequestUpdateOwnership(boolean)
that it has the intention of becoming the update owner.
StringEXECUTE_APP_ACTION
Allows an assistive application to perform actions on behalf of users inside of applications.
StringEXECUTE_APP_FUNCTIONS
Allows an application to perform actions on behalf of users inside of applications.
StringEXPAND_STATUS_BAR
Allows an application to expand or collapse the status bar.
StringFACTORY_TEST
Run as a manufacturer test application, running as the root user.
StringFOREGROUND_SERVICE
Allows a regular application to use Service.startForeground.
StringFOREGROUND_SERVICE_CAMERA
Allows a regular application to use Service.startForeground with the type "camera".
StringFOREGROUND_SERVICE_CONNECTED_DEVICE
Allows a regular application to use Service.startForeground with the type "connectedDevice".
StringFOREGROUND_SERVICE_DATA_SYNC
Allows a regular application to use Service.startForeground with the type "dataSync".
StringFOREGROUND_SERVICE_HEALTH
Allows a regular application to use Service.startForeground with the type "health".
StringFOREGROUND_SERVICE_LOCATION
Allows a regular application to use Service.startForeground with the type "location".
StringFOREGROUND_SERVICE_MEDIA_PLAYBACK
Allows a regular application to use Service.startForeground with the type "mediaPlayback".
StringFOREGROUND_SERVICE_MEDIA_PROCESSING
Allows a regular application to use Service.startForeground with the type "mediaProcessing".
StringFOREGROUND_SERVICE_MEDIA_PROJECTION
Allows a regular application to use Service.startForeground with the type "mediaProjection".
StringFOREGROUND_SERVICE_MICROPHONE
Allows a regular application to use Service.startForeground with the type "microphone".
StringFOREGROUND_SERVICE_PHONE_CALL
Allows a regular application to use Service.startForeground with the type "phoneCall".
StringFOREGROUND_SERVICE_REMOTE_MESSAGING
Allows a regular application to use Service.startForeground with the type "remoteMessaging".
StringFOREGROUND_SERVICE_SPECIAL_USE
Allows a regular application to use Service.startForeground with the type "specialUse".
StringFOREGROUND_SERVICE_SYSTEM_EXEMPTED
Allows a regular application to use Service.startForeground with the type "systemExempted".
StringGET_ACCOUNTS
Allows access to the list of accounts in the Accounts Service.
StringGET_ACCOUNTS_PRIVILEGED
Allows access to the list of accounts in the Accounts Service.
StringGET_PACKAGE_SIZE
Allows an application to find out the space used by any package.
StringGET_TASKS
This constant was deprecated in API level 21. No longer enforced.
StringGLOBAL_SEARCH
This permission can be used on content providers to allow the global search system to access their data.
StringHIDE_OVERLAY_WINDOWS
Allows an app to prevent non-system-overlay windows from being drawn on top of it
StringHIGH_SAMPLING_RATE_SENSORS
Allows an app to access sensor data with a sampling rate greater than 200 Hz.
StringINSTALL_LOCATION_PROVIDER
Allows an application to install a location provider into the Location Manager.
StringINSTALL_PACKAGES
Allows an application to install packages.
StringINSTALL_SHORTCUT
Allows an application to install a shortcut in Launcher.
StringINSTANT_APP_FOREGROUND_SERVICE
Allows an instant app to create foreground services.
StringINTERACT_ACROSS_PROFILES
Allows interaction across profiles in the same profile group.
StringINTERNET
Allows applications to open network sockets.
StringKILL_BACKGROUND_PROCESSES
Allows an application to call
ActivityManager.killBackgroundProcesses(String).
StringLAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
Allows an application to capture screen content to perform a screenshot using the intent
action Intent.ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE.
StringLAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK
An application needs this permission for
Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY to show its
Activity embedded in Settings app.
StringLOADER_USAGE_STATS
Allows a data loader to read a package's access logs.
StringLOCATION_HARDWARE
Allows an application to use location features in hardware, such as the geofencing api.
StringMANAGE_DEVICE_LOCK_STATE
Allows financed device kiosk apps to perform actions on the Device Lock service
Protection level: internal|role
Intended for use by the FINANCED_DEVICE_KIOSK role only.
StringMANAGE_DEVICE_POLICY_ACCESSIBILITY
Allows an application to manage policy related to accessibility.
StringMANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT
Allows an application to set policy related to account management.
StringMANAGE_DEVICE_POLICY_ACROSS_USERS
Allows an application to set device policies outside the current user that are required for securing device ownership without accessing user data.
StringMANAGE_DEVICE_POLICY_ACROSS_USERS_FULL
Allows an application to set device policies outside the current user.
StringMANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL
Allows an application to set device policies outside the current user that are critical for securing data within the current user.
StringMANAGE_DEVICE_POLICY_AIRPLANE_MODE
Allows an application to set policy related to airplane mode.
StringMANAGE_DEVICE_POLICY_APPS_CONTROL
Allows an application to manage policy regarding modifying applications.
StringMANAGE_DEVICE_POLICY_APP_FUNCTIONS
Allows an application to manage policy related to AppFunctions.
StringMANAGE_DEVICE_POLICY_APP_RESTRICTIONS
Allows an application to manage application restrictions.
StringMANAGE_DEVICE_POLICY_APP_USER_DATA
Allows an application to manage policy related to application user data.
StringMANAGE_DEVICE_POLICY_ASSIST_CONTENT
Allows an application to set policy related to sending assist content to a privileged app such as the Assistant app.
StringMANAGE_DEVICE_POLICY_AUDIO_OUTPUT
Allows an application to set policy related to audio output.
StringMANAGE_DEVICE_POLICY_AUTOFILL
Allows an application to set policy related to autofill.
StringMANAGE_DEVICE_POLICY_BACKUP_SERVICE
Allows an application to manage backup service policy.
StringMANAGE_DEVICE_POLICY_BLOCK_UNINSTALL
Allows an application to manage policy related to block package uninstallation.
StringMANAGE_DEVICE_POLICY_BLUETOOTH
Allows an application to set policy related to bluetooth.
StringMANAGE_DEVICE_POLICY_BUGREPORT
Allows an application to request bugreports with user consent.
StringMANAGE_DEVICE_POLICY_CALLS
Allows an application to manage calling policy.
StringMANAGE_DEVICE_POLICY_CAMERA
Allows an application to set policy related to restricting a user's ability to use or enable and disable the camera.
StringMANAGE_DEVICE_POLICY_CAMERA_TOGGLE
Allows an application to manage policy related to camera toggle.
StringMANAGE_DEVICE_POLICY_CERTIFICATES
Allows an application to set policy related to certificates.
StringMANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE
Allows an application to manage policy related to common criteria mode.
StringMANAGE_DEVICE_POLICY_CONTENT_PROTECTION
Allows an application to manage policy related to content protection.
StringMANAGE_DEVICE_POLICY_DEBUGGING_FEATURES
Allows an application to manage debugging features policy.
StringMANAGE_DEVICE_POLICY_DEFAULT_SMS
Allows an application to set policy related to the default sms application.
StringMANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS
Allows an application to manage policy related to device identifiers.
StringMANAGE_DEVICE_POLICY_DISPLAY
Allows an application to set policy related to the display.
StringMANAGE_DEVICE_POLICY_FACTORY_RESET
Allows an application to set policy related to factory reset.
StringMANAGE_DEVICE_POLICY_FUN
Allows an application to set policy related to fun.
StringMANAGE_DEVICE_POLICY_INPUT_METHODS
Allows an application to set policy related to input methods.
StringMANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES
Allows an application to manage installing from unknown sources policy.
StringMANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES
Allows an application to set policy related to keeping uninstalled packages.
StringMANAGE_DEVICE_POLICY_KEYGUARD
Allows an application to manage policy related to keyguard features.
StringMANAGE_DEVICE_POLICY_LOCALE
Allows an application to set policy related to locale.
StringMANAGE_DEVICE_POLICY_LOCATION
Allows an application to set policy related to location.
StringMANAGE_DEVICE_POLICY_LOCK
Allows an application to lock a profile or the device with the appropriate cross-user permission.
StringMANAGE_DEVICE_POLICY_LOCK_CREDENTIALS
Allows an application to set policy related to lock credentials.
StringMANAGE_DEVICE_POLICY_LOCK_TASK
Allows an application to manage lock task policy.
StringMANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS
Allows an application to set policy related to subscriptions downloaded by an admin.
StringMANAGE_DEVICE_POLICY_METERED_DATA
Allows an application to manage policy related to metered data.
StringMANAGE_DEVICE_POLICY_MICROPHONE
Allows an application to set policy related to restricting a user's ability to use or enable and disable the microphone.
StringMANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE
Allows an application to manage policy related to microphone toggle.
StringMANAGE_DEVICE_POLICY_MOBILE_NETWORK
Allows an application to set policy related to mobile networks.
StringMANAGE_DEVICE_POLICY_MODIFY_USERS
Allows an application to manage policy preventing users from modifying users.
StringMANAGE_DEVICE_POLICY_MTE
Allows an application to manage policy related to the Memory Tagging Extension (MTE).
StringMANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION
Allows an application to set policy related to nearby communications (e.g. Beam and nearby streaming).
StringMANAGE_DEVICE_POLICY_NETWORK_LOGGING
Allows an application to set policy related to network logging.
StringMANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY
Allows an application to manage the identity of the managing organization.
StringMANAGE_DEVICE_POLICY_OVERRIDE_APN
Allows an application to set policy related to override APNs.
StringMANAGE_DEVICE_POLICY_PACKAGE_STATE
Allows an application to set policy related to hiding and suspending packages.
StringMANAGE_DEVICE_POLICY_PHYSICAL_MEDIA
Allows an application to set policy related to physical media.
StringMANAGE_DEVICE_POLICY_PRINTING
Allows an application to set policy related to printing.
StringMANAGE_DEVICE_POLICY_PRIVATE_DNS
Allows an application to set policy related to private DNS.
StringMANAGE_DEVICE_POLICY_PROFILES
Allows an application to set policy related to profiles.
StringMANAGE_DEVICE_POLICY_PROFILE_INTERACTION
Allows an application to set policy related to interacting with profiles (e.g. Disallowing cross-profile copy and paste).
StringMANAGE_DEVICE_POLICY_PROXY
Allows an application to set a network-independent global HTTP proxy.
StringMANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES
Allows an application query system updates.
StringMANAGE_DEVICE_POLICY_RESET_PASSWORD
Allows an application to force set a new device unlock password or a managed profile challenge on current user.
StringMANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS
Allows an application to set policy related to restricting the user from configuring private DNS.
StringMANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS
Allows an application to set the grant state of runtime permissions on packages.
StringMANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND
Allows an application to set policy related to users running in the background.
StringMANAGE_DEVICE_POLICY_SAFE_BOOT
Allows an application to manage safe boot policy.
StringMANAGE_DEVICE_POLICY_SCREEN_CAPTURE
Allows an application to set policy related to screen capture.
StringMANAGE_DEVICE_POLICY_SCREEN_CONTENT
Allows an application to set policy related to the usage of the contents of the screen.
StringMANAGE_DEVICE_POLICY_SECURITY_LOGGING
Allows an application to set policy related to security logging.
StringMANAGE_DEVICE_POLICY_SETTINGS
Allows an application to set policy related to settings.
StringMANAGE_DEVICE_POLICY_SMS
Allows an application to set policy related to sms.
StringMANAGE_DEVICE_POLICY_STATUS_BAR
Allows an application to set policy related to the status bar.
StringMANAGE_DEVICE_POLICY_SUPPORT_MESSAGE
Allows an application to set support messages for when a user action is affected by an active policy.
StringMANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS
Allows an application to set policy related to suspending personal apps.
StringMANAGE_DEVICE_POLICY_SYSTEM_APPS
Allows an application to manage policy related to system apps.
StringMANAGE_DEVICE_POLICY_SYSTEM_DIALOGS
Allows an application to set policy related to system dialogs.
StringMANAGE_DEVICE_POLICY_SYSTEM_UPDATES
Allows an application to set policy related to system updates.
StringMANAGE_DEVICE_POLICY_THREAD_NETWORK
Allows an application to set policy related to Thread network.
StringMANAGE_DEVICE_POLICY_TIME
Allows an application to manage device policy relating to time.
StringMANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING
Allows an application to set policy related to usb data signalling.
StringMANAGE_DEVICE_POLICY_USB_FILE_TRANSFER
Allows an application to set policy related to usb file transfers.
StringMANAGE_DEVICE_POLICY_USERS
Allows an application to set policy related to users.
StringMANAGE_DEVICE_POLICY_VPN
Allows an application to set policy related to VPNs.
StringMANAGE_DEVICE_POLICY_WALLPAPER
Allows an application to set policy related to the wallpaper.
StringMANAGE_DEVICE_POLICY_WIFI
Allows an application to set policy related to Wifi.
StringMANAGE_DEVICE_POLICY_WINDOWS
Allows an application to set policy related to windows.
StringMANAGE_DEVICE_POLICY_WIPE_DATA
Allows an application to manage policy related to wiping data.
StringMANAGE_DOCUMENTS
Allows an application to manage access to documents, usually as part of a document picker.
StringMANAGE_EXTERNAL_STORAGE
Allows an application a broad access to external storage in scoped storage.
StringMANAGE_MEDIA
Allows an application to modify and delete media files on this device or any connected storage device without user confirmation.
StringMANAGE_ONGOING_CALLS
Allows to query ongoing call details and manage ongoing calls
Protection level: signature|appop
StringMANAGE_OWN_CALLS
Allows a calling application which manages its own calls through the self-managed
ConnectionService APIs.
StringMANAGE_WIFI_INTERFACES
Allows applications to get notified when a Wi-Fi interface request cannot be satisfied without tearing down one or more other interfaces, and provide a decision whether to approve the request or reject it.
StringMANAGE_WIFI_NETWORK_SELECTION
This permission is used to let OEMs grant their trusted app access to a subset of privileged wifi APIs to improve wifi performance.
StringMASTER_CLEAR
Not for use by third-party applications.
StringMEDIA_CONTENT_CONTROL
Allows an application to know what content is playing and control its playback.
StringMEDIA_ROUTING_CONTROL
Allows an application to control the routing of media apps.
StringMODIFY_AUDIO_SETTINGS
Allows an application to modify global audio settings.
StringMODIFY_PHONE_STATE
Allows modification of the telephony state - power on, mmi, etc.
StringMOUNT_FORMAT_FILESYSTEMS
Allows formatting file systems for removable storage.
StringMOUNT_UNMOUNT_FILESYSTEMS
Allows mounting and unmounting file systems for removable storage.
StringNEARBY_WIFI_DEVICES
Required to be able to advertise and connect to nearby devices via Wi-Fi.
StringNFC
Allows applications to perform I/O operations over NFC.
StringNFC_PREFERRED_PAYMENT_INFO
Allows applications to receive NFC preferred payment service information.
StringNFC_TRANSACTION_EVENT
Allows applications to receive NFC transaction events.
StringOVERRIDE_MEDIA_SESSION_OWNER
Allows an application to override the owner of a MediaSession.
StringOVERRIDE_WIFI_CONFIG
Allows an application to modify any wifi configuration, even if created by another application.
StringPACKAGE_USAGE_STATS
Allows 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.
StringPERSISTENT_ACTIVITY
This 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.
StringPOST_NOTIFICATIONS
Allows an app to post notifications
Protection level: dangerous
StringPOST_PROMOTED_NOTIFICATIONS
Required for apps to post promoted notifications.
StringPROCESS_OUTGOING_CALLS
This constant was deprecated
in API level 29.
Applications should use CallRedirectionService instead
of the Intent.ACTION_NEW_OUTGOING_CALL broadcast.
StringPROVIDE_OWN_AUTOFILL_SUGGESTIONS
Allows an application to display its suggestions using the autofill framework.
StringPROVIDE_PRIVATE_COMPUTE_SERVICES
Allows an application to act as Private Compute Services, which allows the application to communicate with Private Compute Core components.
StringPROVIDE_REMOTE_CREDENTIALS
Allows an application to be able to store and retrieve credentials from a remote device.
StringQUERY_ADVANCED_PROTECTION_MODE
Allows an application to query the device's advanced protection mode status.
StringQUERY_ALL_PACKAGES
Allows query of any normal app on the device, regardless of manifest declarations.
StringRANGING
Required to be able to range to devices using generic ranging module.
StringREAD_ASSISTANT_APP_SEARCH_DATA
Allows an application to query over global data in AppSearch that's visible to the ASSISTANT role.
StringREAD_ASSIST_STRUCTURE_SCREEN_CONTENT
Allows an assistant application to read screen content in the AssistStructure.
StringREAD_BASIC_PHONE_STATE
Allows read only access to phone state with a non dangerous permission, including the information like cellular network type, software version.
StringREAD_CALENDAR
Allows an application to read the user's calendar data.
StringREAD_CALL_LOG
Allows an application to read the user's call log.
StringREAD_COLOR_ZONES
Allows an application to read the aggregated color zones on the screen for use cases like TV ambient backlight usages.
StringREAD_CONTACTS
Allows an application to read the user's contacts data.
StringREAD_DROPBOX_DATA
Allows an application to access the data in Dropbox.
StringREAD_EXTERNAL_STORAGE
Allows an application to read from external storage.
StringREAD_HOME_APP_SEARCH_DATA
Allows an application to query over global data in AppSearch that's visible to the HOME role.
StringREAD_INPUT_STATE
This constant was deprecated in API level 16. The API that used this permission has been removed.
StringREAD_LOGS
Allows an application to read the low-level system log files.
StringREAD_MEDIA_AUDIO
Allows an application to read audio files from external storage.
StringREAD_MEDIA_IMAGES
Allows an application to read image files from external storage.
StringREAD_MEDIA_VIDEO
Allows an application to read video files from external storage.
StringREAD_MEDIA_VISUAL_USER_SELECTED
Allows an application to read image or video files from external storage that a user has selected via the permission prompt photo picker.
StringREAD_NEARBY_STREAMING_POLICY
Allows an application to read nearby streaming policy.
StringREAD_PHONE_NUMBERS
Allows read access to the device's phone number(s), which is exposed to instant applications.
StringREAD_PHONE_STATE
Allows read only access to phone state, including the current cellular network information,
the status of any ongoing calls, and a list of any PhoneAccounts
registered on the device.
StringREAD_PRECISE_PHONE_STATE
Allows read only access to precise phone state.
StringREAD_SMS
Allows an application to read SMS messages.
StringREAD_SYNC_SETTINGS
Allows applications to read the sync settings.
StringREAD_SYNC_STATS
Allows applications to read the sync stats.
StringREAD_SYSTEM_PREFERENCES
Allows an application to access the Settings Preference services to read settings exposed by the system Settings app and system apps that contribute settings surfaced by the Settings app.
StringREAD_VOICEMAIL
Allows an application to read voicemails in the system.
StringREBOOT
Required to be able to reboot the device.
StringRECEIVE_BOOT_COMPLETED
Allows an application to receive the
Intent.ACTION_BOOT_COMPLETED that is
broadcast after the system finishes booting.
StringRECEIVE_MMS
Allows an application to monitor incoming MMS messages.
StringRECEIVE_SENSITIVE_NOTIFICATIONS
Allows apps with a NotificationListenerService to receive notifications with sensitive information
Apps with a NotificationListenerService without this permission will not be able to view certain types of sensitive information contained in notifications
This permission also allows apps with the SMS permissions to query and receive broadcasts about SMS messages that contain One Time Passwords
Protection level: signature|preinstalled|knownSigner|role
StringRECEIVE_SMS
Allows an application to receive SMS messages.
StringRECEIVE_WAP_PUSH
Allows an application to receive WAP push messages.
StringRECORD_AUDIO
Allows an application to record audio.
StringREORDER_TASKS
Allows an application to change the Z-order of tasks.
StringREPOSITION_SELF_WINDOWS
Allows an application to programmatically move and resize its tasks when the system is in a state that allows such operations, e.g. in a desktop-like environment.
StringREQUEST_COMPANION_PROFILE_APP_STREAMING
Allows application to request to be associated with a virtual device capable of streaming
Android applications
(AssociationRequest.DEVICE_PROFILE_APP_STREAMING)
by CompanionDeviceManager.
StringREQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION
Allows application to request to be associated with a vehicle head unit capable of
automotive projection
(AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION)
by CompanionDeviceManager.
StringREQUEST_COMPANION_PROFILE_COMPUTER
Allows application to request to be associated with a computer to share functionality
and/or data with other devices, such as notifications, photos and media
(AssociationRequest.DEVICE_PROFILE_COMPUTER)
by CompanionDeviceManager.
StringREQUEST_COMPANION_PROFILE_GLASSES
Allows app to request to be associated with a device via
CompanionDeviceManager
as "glasses"
Protection level: normal
StringREQUEST_COMPANION_PROFILE_MEDICAL
Allows application to request to associate with a
AssociationRequest.DEVICE_PROFILE_MEDICAL device via
CompanionDeviceManager.
StringREQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING
Allows application to request to stream content from an Android host to a nearby device
(AssociationRequest.DEVICE_PROFILE_NEARBY_DEVICE_STREAMING)
by CompanionDeviceManager.
StringREQUEST_COMPANION_PROFILE_WATCH
Allows app to request to be associated with a device via
CompanionDeviceManager
as a "watch"
Protection level: normal
StringREQUEST_COMPANION_RUN_IN_BACKGROUND
Allows a companion app to run in the background.
StringREQUEST_COMPANION_SELF_MANAGED
Allows an application to create a "self-managed" association.
StringREQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND
Allows a companion app to start a foreground service from the background.
StringREQUEST_COMPANION_USE_DATA_IN_BACKGROUND
Allows a companion app to use data in the background.
StringREQUEST_DELETE_PACKAGES
Allows an application to request deleting packages.
StringREQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Permission an application must hold in order to use
Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
StringREQUEST_INSTALL_PACKAGES
Allows an application to request installing packages.
StringREQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE
Allows an application to subscribe to notifications about the presence status change of their associated companion device
StringREQUEST_OBSERVE_DEVICE_UUID_PRESENCE
Allows an application to subscribe to notifications about the nearby devices' presence status change base on the UUIDs.
StringREQUEST_PASSWORD_COMPLEXITY
Allows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.
StringRESTART_PACKAGES
This constant was deprecated
in API level 15.
The ActivityManager.restartPackage(String)
API is no longer supported.
StringRUN_USER_INITIATED_JOBS
Allows applications to use the user-initiated jobs API.
StringSCHEDULE_EXACT_ALARM
Allows applications to use exact alarm APIs.
StringSEND_RESPOND_VIA_MESSAGE
Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
StringSEND_SMS
Allows an application to send SMS messages.
StringSET_ALARM
Allows an application to broadcast an Intent to set an alarm for the user.
StringSET_ALWAYS_FINISH
Allows an application to control whether activities are immediately finished when put in the background.
StringSET_ANIMATION_SCALE
Modify the global animation scaling factor.
StringSET_BIOMETRIC_DIALOG_ADVANCED
Allows an application to set the advanced features on BiometricDialog (SystemUI), including logo, logo description, and content view with more options button.
StringSET_DEBUG_APP
Configure an application for debugging.
StringSET_PREFERRED_APPLICATIONS
This constant was deprecated
in API level 15.
No longer useful, see
PackageManager.addPackageToPreferred(String)
for details.
StringSET_PROCESS_LIMIT
Allows an application to set the maximum number of (not needed) application processes that can be running.
StringSET_TIME
Allows applications to set the system time directly.
StringSET_TIME_ZONE
Allows applications to set the system time zone directly.
StringSET_WALLPAPER
Allows applications to set the wallpaper.
StringSET_WALLPAPER_HINTS
Allows applications to set the wallpaper hints.
StringSHOW_POWER_MENU
Permission needed to request to show the Power Menu.
StringSHOW_POWER_MENU_PRIVILEGED
Permission needed to request to show the Power Menu.
StringSIGNAL_PERSISTENT_PROCESSES
Allow an application to request that a signal be sent to all persistent processes.
StringSMS_FINANCIAL_TRANSACTIONS
This constant was deprecated in API level 31. The API that used this permission is no longer functional.
StringSTART_FOREGROUND_SERVICES_FROM_BACKGROUND
Allows an application to start foreground services from the background at any time.
StringSTART_VIEW_APP_FEATURES
Allows the holder to start the screen with a list of app features.
StringSTART_VIEW_PERMISSION_USAGE
Allows the holder to start the permission usage screen for an app.
StringSTATUS_BAR
Allows an application to open, close, or disable the status bar and its icons.
StringSUBSCRIBE_TO_KEYGUARD_LOCKED_STATE
Allows an application to subscribe to device locked and keyguard locked (i.e., showing) state.
StringSYSTEM_ALERT_WINDOW
Allows an app to create windows using the type
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
shown on top of all other apps.
StringTRANSMIT_IR
Allows using the device's IR transmitter, if available.
StringTURN_SCREEN_ON
Allows an app to turn on the screen on, e.g. with
PowerManager.ACQUIRE_CAUSES_WAKEUP.
StringTV_IMPLICIT_ENTER_PIP
Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting it.
StringUNINSTALL_SHORTCUT
Don't use this permission in your app.
StringUPDATE_DEVICE_STATS
Allows an application to update device statistics.
StringUPDATE_PACKAGES_WITHOUT_USER_ACTION
Allows an application to indicate via
PackageInstaller.SessionParams.setRequireUserAction(int)
that user action should not be required for an app update.
StringUSE_BIOMETRIC
Allows an app to use device supported biometric modalities.
StringUSE_EXACT_ALARM
Allows apps to use exact alarms just like with SCHEDULE_EXACT_ALARM but without needing to request this
permission from the user.
StringUSE_FINGERPRINT
This constant was deprecated
in API level 28.
Applications should request USE_BIOMETRIC instead
StringUSE_FULL_SCREEN_INTENT
Required for apps targeting Build.VERSION_CODES.Q that want to use
notification full screen
intents.
StringUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
Allows to read device identifiers and use ICC based authentication like EAP-AKA.
StringUSE_LOCATION_BUTTON
Allows an app use location button, which grants temporary location permission when a user clicks the button.
StringUSE_LOOPBACK_INTERFACE
Required to be able to interact with other applications via IP packets on the loopback interface.
StringUSE_PINNED_WINDOWING_LAYER
Allows an application to use
ActivityManager.AppTask.WINDOWING_LAYER_PINNED for its Tasks,
typically requested via ActivityManager.AppTask.requestWindowingLayer(int, Executor, OutcomeReceiver).
StringUSE_SIP
Allows an application to use SIP service.
StringUWB_RANGING
Required to be able to range to devices using ultra-wideband.
StringVIBRATE
Allows access to the vibrator.
StringWAKE_LOCK
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
StringWRITE_APN_SETTINGS
Allows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.
StringWRITE_CALENDAR
Allows an application to write the user's calendar data.
StringWRITE_CALL_LOG
Allows an application to write and read the user's call log data.
StringWRITE_CONTACTS
Allows an application to write the user's contacts data.
StringWRITE_EXTERNAL_STORAGE
Allows an application to write to external storage.
StringWRITE_GSERVICES
Allows an application to modify the Google service map.
StringWRITE_SECURE_SETTINGS
Allows an application to read or write the secure system settings.
StringWRITE_SETTINGS
Allows an application to read or write the system settings.
StringWRITE_SYNC_SETTINGS
Allows applications to write the sync settings.
StringWRITE_SYSTEM_PREFERENCES
Allows an application to access the Settings Preference services to write settings values exposed by the system Settings app and system apps that contribute settings surfaced in the Settings app.
StringWRITE_VOICEMAIL
Allows an application to modify and remove existing voicemails in the system.
Public constructors | |
|---|---|
permission()
|
|
Inherited methods | |
|---|---|
public static final String ACCEPT_HANDOVER
Allows a calling app to continue a call which was started in another app. An example is a video calling app that wants to continue a voice call on the user's mobile network.
When the handover of a call from one app to another takes place, there are two devices which are involved in the handover; the initiating and receiving devices. The initiating device is where the request to handover the call was started, and the receiving device is where the handover request is confirmed by the other party.
This permission protects access to the
TelecomManager.acceptHandover(Uri, int, PhoneAccountHandle) which
the receiving side of the handover uses to accept a handover.
Protection level: dangerous
Constant Value: "android.permission.ACCEPT_HANDOVER"
public static final String ACCESS_BACKGROUND_LOCATION
Allows an app to access location in the background. If you're requesting this permission,
you must also request either ACCESS_COARSE_LOCATION or
ACCESS_FINE_LOCATION. Requesting this permission by itself doesn't give you
location access.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.ACCESS_BACKGROUND_LOCATION"
public static final String ACCESS_BIOMETRIC_SENSOR_STRENGTHS
Allows an application to retrieve the sensor security strengths of the biometric sensors.
This permission is currently granted only to the WALLET role, the DEVICE_POLICY_MANAGEMENT role, and the SYSTEM_SHELL role (for easier control during testing).
Constant Value: "android.permission.ACCESS_BIOMETRIC_SENSOR_STRENGTHS"
public static final String ACCESS_BLOBS_ACROSS_USERS
Allows an application to access data blobs across users.
Constant Value: "android.permission.ACCESS_BLOBS_ACROSS_USERS"
public static final String ACCESS_CHECKIN_PROPERTIES
Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
Not for use by third-party applications.
Constant Value: "android.permission.ACCESS_CHECKIN_PROPERTIES"
public static final String ACCESS_COARSE_LOCATION
Allows an app to access approximate location.
Alternatively, you might want ACCESS_FINE_LOCATION.
Protection level: dangerous
Constant Value: "android.permission.ACCESS_COARSE_LOCATION"
public static final String ACCESS_FINE_LOCATION
Allows an app to access precise location.
Alternatively, you might want ACCESS_COARSE_LOCATION.
Protection level: dangerous
Constant Value: "android.permission.ACCESS_FINE_LOCATION"
public static final String ACCESS_HIDDEN_PROFILES
Allows applications to access profiles with
android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN user property, e.g.
UserManager.USER_TYPE_PROFILE_PRIVATE.
Protection level: normal
Constant Value: "android.permission.ACCESS_HIDDEN_PROFILES"
public static final String ACCESS_LAUNCHER_DATA
This permission protects a content provider within home/launcher applications, enabling management of home screen metadata such as shortcut placement, launch intents, and labels.
Constant Value: "android.permission.ACCESS_LAUNCHER_DATA"
public static final String ACCESS_LOCAL_NETWORK
Required to be able to advertise and connect to local network devices.
A local network refers to an IP network that utilizes a broadcast-capable network interface, such as Wi-Fi or Ethernet, but excludes cellular (WWAN) or VPN connections.
See also:
ERROR(href="https://developer.android.com/privacy-and-security/local-network-definition">Local Network DefinitionProtection level: dangerous/Local Network Definition
Protection level: dangerous)
Constant Value: "android.permission.ACCESS_LOCAL_NETWORK"
public static final String ACCESS_LOCATION_EXTRA_COMMANDS
Allows an application to access extra location provider commands.
Protection level: normal
Constant Value: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
public static final String ACCESS_MEDIA_LOCATION
Allows an application to access any geographic locations persisted in the user's shared collection.
Protection level: dangerous
Constant Value: "android.permission.ACCESS_MEDIA_LOCATION"
public static final String ACCESS_NETWORK_STATE
Allows applications to access information about networks.
Protection level: normal
Constant Value: "android.permission.ACCESS_NETWORK_STATE"
public static final String ACCESS_NOTIFICATION_POLICY
Marker permission for applications that wish to access notification policy. This permission is not supported on managed profiles.
Protection level: normal
Constant Value: "android.permission.ACCESS_NOTIFICATION_POLICY"
public static final String ACCESS_WIFI_STATE
Allows applications to access information about Wi-Fi networks.
Protection level: normal
Constant Value: "android.permission.ACCESS_WIFI_STATE"
public static final String ACCOUNT_MANAGER
Allows applications to call into AccountAuthenticators.
Not for use by third-party applications.
Constant Value: "android.permission.ACCOUNT_MANAGER"
public static final String ACTIVITY_RECOGNITION
Allows an application to recognize physical activity.
Protection level: dangerous
Constant Value: "android.permission.ACTIVITY_RECOGNITION"
public static final String ADD_VOICEMAIL
Allows an application to add voicemails into the system.
Protection level: dangerous
Constant Value: "com.android.voicemail.permission.ADD_VOICEMAIL"
public static final String ANSWER_PHONE_CALLS
Allows the app to answer an incoming phone call.
Protection level: dangerous
Constant Value: "android.permission.ANSWER_PHONE_CALLS"
public static final String APPLY_PICTURE_PROFILE
Allows an app to apply a ERROR(/MediaQualityManager.PictureProfile) to a layer via
ERROR(/MediaCodec.PARAMETER_KEY_PICTURE_PROFILE) and, additionally, system apps via
ERROR(/SurfaceControl.Transaction#setPictureProfileHandle).
Constant Value: "android.permission.APPLY_PICTURE_PROFILE"
public static final String BATTERY_STATS
Allows an application to collect battery statistics
Protection level: signature|privileged|development
Constant Value: "android.permission.BATTERY_STATS"
public static final String BIND_ACCESSIBILITY_SERVICE
Must be required by an AccessibilityService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_ACCESSIBILITY_SERVICE"
public static final String BIND_ALTERNATIVE_MESSAGE_TRANSPORT_SERVICE
Permission needed to ensure that only the system process can bind with the
AlternativeMessageTransportService.
Constant Value: "android.permission.BIND_ALTERNATIVE_MESSAGE_TRANSPORT_SERVICE"
public static final String BIND_APPWIDGET
Allows an application to tell the AppWidget service which application can access AppWidget's data. The normal user flow is that a user picks an AppWidget to go into a particular host, thereby giving that host application access to the private data from the AppWidget app. An application that has this permission should honor that contract.
Not for use by third-party applications.
Constant Value: "android.permission.BIND_APPWIDGET"
public static final String BIND_APP_FUNCTION_SERVICE
Must be required by an AppFunctionService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_APP_FUNCTION_SERVICE"
public static final String BIND_AUTOFILL_SERVICE
Must be required by a AutofillService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_AUTOFILL_SERVICE"
public static final String BIND_CALL_REDIRECTION_SERVICE
Must be required by a CallRedirectionService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_CALL_REDIRECTION_SERVICE"
public static final String BIND_CARRIER_MESSAGING_CLIENT_SERVICE
A subclass of CarrierMessagingClientService must be protected with this permission.
Protection level: signature
Constant Value: "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
public static final String BIND_CARRIER_MESSAGING_SERVICE
This constant was deprecated
in API level 23.
Use BIND_CARRIER_SERVICES instead
Constant Value: "android.permission.BIND_CARRIER_MESSAGING_SERVICE"
public static final String BIND_CARRIER_SERVICES
The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_CARRIER_SERVICES"
public static final String BIND_CHOOSER_TARGET_SERVICE
This constant was deprecated
in API level 30.
For publishing direct share targets, please follow the instructions in
https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
instead.
Must be required by a ChooserTargetService, to ensure that
only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_CHOOSER_TARGET_SERVICE"
public static final String BIND_COMPANION_DEVICE_SERVICE
Must be required by any
CompanionDeviceServices
to ensure that only the system can bind to it.
Constant Value: "android.permission.BIND_COMPANION_DEVICE_SERVICE"
public static final String BIND_CONDITION_PROVIDER_SERVICE
Must be required by a ConditionProviderService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_CONDITION_PROVIDER_SERVICE"
public static final String BIND_CONTROLS
Allows SystemUI to request third party controls.
Should only be requested by the System and required by
ControlsProviderService declarations.
Constant Value: "android.permission.BIND_CONTROLS"
public static final String BIND_CREDENTIAL_PROVIDER_SERVICE
Must be required by a CredentialProviderService to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
public static final String BIND_DATA_MIGRATION_FOR_PRIVATECOMPUTE
Allows the system to bind to an application's data migration service for Private Compute.
Protection level: signature
Constant Value: "android.permission.BIND_DATA_MIGRATION_FOR_PRIVATECOMPUTE"
public static final String BIND_DEVICE_ADMIN
Must be required by device administration receiver, to ensure that only the system can interact with it.
Protection level: signature
Constant Value: "android.permission.BIND_DEVICE_ADMIN"
public static final String BIND_DREAM_SERVICE
Must be required by an DreamService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_DREAM_SERVICE"
public static final String BIND_INCALL_SERVICE
Must be required by a InCallService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_INCALL_SERVICE"
public static final String BIND_INPUT_METHOD
Must be required by an InputMethodService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_INPUT_METHOD"
public static final String BIND_MIDI_DEVICE_SERVICE
Must be required by an MidiDeviceService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_MIDI_DEVICE_SERVICE"
public static final String BIND_NFC_SERVICE
Must be required by a HostApduService
or OffHostApduService to ensure that only
the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_NFC_SERVICE"
public static final String BIND_NOTIFICATION_LISTENER_SERVICE
Must be required by an NotificationListenerService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
public static final String BIND_PRINT_SERVICE
Must be required by a PrintService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_PRINT_SERVICE"
public static final String BIND_QUICK_ACCESS_WALLET_SERVICE
Must be required by a QuickAccessWalletService
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
public static final String BIND_QUICK_SETTINGS_TILE
Allows an application to bind to third party quick settings tiles.
Should only be requested by the System, should be required by TileService declarations.
Constant Value: "android.permission.BIND_QUICK_SETTINGS_TILE"
public static final String BIND_REMOTEVIEWS
Must be required by a RemoteViewsService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_REMOTEVIEWS"
public static final String BIND_SCREENING_SERVICE
Must be required by a CallScreeningService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_SCREENING_SERVICE"
public static final String BIND_TELECOM_CONNECTION_SERVICE
Must be required by a ConnectionService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_TELECOM_CONNECTION_SERVICE"
public static final String BIND_TEXT_SERVICE
Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_TEXT_SERVICE"
public static final String BIND_TV_AD_SERVICE
Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_TV_AD_SERVICE"
public static final String BIND_TV_INPUT
Must be required by a TvInputService
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_TV_INPUT"
public static final String BIND_TV_INTERACTIVE_APP
Must be required by a TvInteractiveAppService
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_TV_INTERACTIVE_APP"
public static final String BIND_VISUAL_VOICEMAIL_SERVICE
Must be required by a link VisualVoicemailService to ensure that
only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
public static final String BIND_VOICE_INTERACTION
Must be required by a VoiceInteractionService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_VOICE_INTERACTION"
public static final String BIND_VPN_SERVICE
Must be required by a VpnService,
to ensure that only the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_VPN_SERVICE"
public static final String BIND_VR_LISTENER_SERVICE
Must be required by an VrListenerService, to ensure that only
the system can bind to it.
Protection level: signature
Constant Value: "android.permission.BIND_VR_LISTENER_SERVICE"
public static final String BIND_WALLPAPER
Must be required by a WallpaperService,
to ensure that only the system can bind to it.
Protection level: signature|privileged
Constant Value: "android.permission.BIND_WALLPAPER"
public static final String BLUETOOTH
Allows applications to connect to paired bluetooth devices.
Protection level: normal
Constant Value: "android.permission.BLUETOOTH"
public static final String BLUETOOTH_ADMIN
Allows applications to discover and pair bluetooth devices.
Protection level: normal
Constant Value: "android.permission.BLUETOOTH_ADMIN"
public static final String BLUETOOTH_ADVERTISE
Required to be able to advertise to nearby Bluetooth devices.
Protection level: dangerous
Constant Value: "android.permission.BLUETOOTH_ADVERTISE"
public static final String BLUETOOTH_CONNECT
Required to be able to connect to paired Bluetooth devices.
Protection level: dangerous
Constant Value: "android.permission.BLUETOOTH_CONNECT"
public static final String BLUETOOTH_PRIVILEGED
Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
Not for use by third-party applications.
Constant Value: "android.permission.BLUETOOTH_PRIVILEGED"
public static final String BLUETOOTH_SCAN
Required to be able to discover and pair nearby Bluetooth devices.
Protection level: dangerous
Constant Value: "android.permission.BLUETOOTH_SCAN"
public static final String BODY_SENSORS
Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
Protection level: dangerous
Constant Value: "android.permission.BODY_SENSORS"
public static final String BODY_SENSORS_BACKGROUND
Allows an application to access data from sensors that the user uses to measure what is
happening inside their body, such as heart rate. If you're requesting this permission, you
must also request BODY_SENSORS. Requesting this permission by itself doesn't give
you Body sensors access.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.BODY_SENSORS_BACKGROUND"
public static final String BROADCAST_PACKAGE_REMOVED
Allows an application to broadcast a notification that an application package has been removed.
Not for use by third-party applications.
Constant Value: "android.permission.BROADCAST_PACKAGE_REMOVED"
public static final String BROADCAST_SMS
Allows an application to broadcast an SMS receipt notification.
Not for use by third-party applications.
Constant Value: "android.permission.BROADCAST_SMS"
public static final String BROADCAST_STICKY
Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.
Protection level: normal
Constant Value: "android.permission.BROADCAST_STICKY"
public static final String BROADCAST_WAP_PUSH
Allows an application to broadcast a WAP PUSH receipt notification.
Not for use by third-party applications.
Constant Value: "android.permission.BROADCAST_WAP_PUSH"
public static final String CALL_COMPANION_APP
Allows an app which implements the
InCallService API to be eligible to be enabled as a
calling companion app. This means that the Telecom framework will bind to the app's
InCallService implementation when there are calls active. The app can use the InCallService
API to view information about calls on the system and control these calls.
Protection level: normal
Constant Value: "android.permission.CALL_COMPANION_APP"
public static final String CALL_PHONE
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
Note: An app holding this permission can also call carrier MMI codes to change settings such as call forwarding or call waiting preferences.
Protection level: dangerous
Constant Value: "android.permission.CALL_PHONE"
public static final String CALL_PRIVILEGED
Allows 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.
Not for use by third-party applications.
Constant Value: "android.permission.CALL_PRIVILEGED"
public static final String CAMERA
Required to be able to access the camera device.
This will automatically enforce the uses-feature manifest element for all camera features. If you do not require all camera features or can properly operate if a camera is not available, then you must modify your manifest as appropriate in order to install on devices that don't support all camera features.
Protection level: dangerous
Constant Value: "android.permission.CAMERA"
public static final String CAPTURE_AUDIO_OUTPUT
Allows an application to capture audio output.
Use the CAPTURE_MEDIA_OUTPUT permission if only the USAGE_UNKNOWN),
USAGE_MEDIA) or USAGE_GAME) usages are intended to be captured.
Not for use by third-party applications.
Constant Value: "android.permission.CAPTURE_AUDIO_OUTPUT"
public static final String CAPTURE_KEYBOARD
Allows the currently focused application to be able to consume keys before Android system get chance to process system keys and shortcuts.
The keys are always sent to the currently focussed application, this permission allows the focussed application to receive the keys that are normally consumed by the system for shortcuts, allowing it to have custom shortcut behavior primarily for use cases like virtual machine apps where the host OS wants to handle the shortcuts differently.
Certain shortcuts and system keys like Home, Overview, Power, etc are never sent to the currently focused application and are always consumed by the system.
User can escape out of the capture mode by long pressing the Escape key or simply navigating out of the application.
Protection level: normal
Constant Value: "android.permission.CAPTURE_KEYBOARD"
public static final String CHANGE_COMPONENT_ENABLED_STATE
Allows an application to change whether an application component (other than its own) is enabled or not.
Not for use by third-party applications.
Constant Value: "android.permission.CHANGE_COMPONENT_ENABLED_STATE"
public static final String CHANGE_CONFIGURATION
Allows an application to modify the current configuration, such as locale.
Protection level: signature|privileged|development
Constant Value: "android.permission.CHANGE_CONFIGURATION"
public static final String CHANGE_NETWORK_STATE
Allows applications to change network connectivity state.
Protection level: normal
Constant Value: "android.permission.CHANGE_NETWORK_STATE"
public static final String CHANGE_WIFI_MULTICAST_STATE
Allows applications to enter Wi-Fi Multicast mode.
Protection level: normal
Constant Value: "android.permission.CHANGE_WIFI_MULTICAST_STATE"
public static final String CHANGE_WIFI_STATE
Allows applications to change Wi-Fi connectivity state.
Protection level: normal
Constant Value: "android.permission.CHANGE_WIFI_STATE"
public static final String CLEAR_APP_CACHE
Allows an application to clear the caches of all installed applications on the device.
Protection level: signature|privileged
Constant Value: "android.permission.CLEAR_APP_CACHE"
public static final String CONFIGURE_WIFI_DISPLAY
Allows an application to configure and connect to Wifi displays
Constant Value: "android.permission.CONFIGURE_WIFI_DISPLAY"
public static final String CONTROL_LOCATION_UPDATES
Allows enabling/disabling location update notifications from the radio.
Not for use by third-party applications.
Constant Value: "android.permission.CONTROL_LOCATION_UPDATES"
public static final String CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS
Allows a browser to invoke the set of query apis to get metadata about credential candidates prepared during the CredentialManager.prepareGetCredential API.
Protection level: normal
Constant Value: "android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
public static final String CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS
Allows specifying candidate credential providers to be queried in Credential Manager get flows, or to be preferred as a default in the Credential Manager create flows.
Protection level: normal
Constant Value: "android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
public static final String CREDENTIAL_MANAGER_SET_ORIGIN
Allows a browser to invoke credential manager APIs on behalf of another RP.
Protection level: normal
Constant Value: "android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
public static final String DELETE_CACHE_FILES
Old permission for deleting an app's cache files, no longer used, but signals for us to quietly ignore calls instead of throwing an exception.
Protection level: signature|privileged
Constant Value: "android.permission.DELETE_CACHE_FILES"
public static final String DELETE_PACKAGES
Allows an application to delete packages.
Not for use by third-party applications.
Starting in Build.VERSION_CODES.N, user confirmation is requested
when the application deleting the package is not the same application that installed the
package.
Constant Value: "android.permission.DELETE_PACKAGES"
public static final String DELIVER_COMPANION_MESSAGES
Allows an application to deliver companion messages to system
Constant Value: "android.permission.DELIVER_COMPANION_MESSAGES"
public static final String DETECT_SCREEN_CAPTURE
Allows an application to get notified when a screen capture of its windows is attempted.
Protection level: normal
Constant Value: "android.permission.DETECT_SCREEN_CAPTURE"
public static final String DETECT_SCREEN_RECORDING
Allows an application to get notified when it is being recorded.
Protection level: normal
Constant Value: "android.permission.DETECT_SCREEN_RECORDING"
public static final String DIAGNOSTIC
Allows applications to RW to diagnostic resources.
Not for use by third-party applications.
Constant Value: "android.permission.DIAGNOSTIC"
public static final String DISABLE_KEYGUARD
Allows applications to disable the keyguard if it is not secure.
Protection level: normal
Constant Value: "android.permission.DISABLE_KEYGUARD"
public static final String DUMP
Allows an application to retrieve state dump information from system services.
Not for use by third-party applications.
Constant Value: "android.permission.DUMP"
public static final String ENFORCE_UPDATE_OWNERSHIP
Allows an application to indicate via PackageInstaller.SessionParams.setRequestUpdateOwnership(boolean)
that it has the intention of becoming the update owner.
Protection level: normal
Constant Value: "android.permission.ENFORCE_UPDATE_OWNERSHIP"
public static final String EXECUTE_APP_ACTION
Allows an assistive application to perform actions on behalf of users inside of applications.
For now, this permission is only granted to the Assistant application selected by the user.
Protection level: internal|role
Constant Value: "android.permission.EXECUTE_APP_ACTION"
public static final String EXECUTE_APP_FUNCTIONS
Allows an application to perform actions on behalf of users inside of applications.
This permission is currently only granted to privileged system apps.
Protection level: internal|privileged
Constant Value: "android.permission.EXECUTE_APP_FUNCTIONS"
public static final String EXPAND_STATUS_BAR
Allows an application to expand or collapse the status bar.
Protection level: normal
Constant Value: "android.permission.EXPAND_STATUS_BAR"
public static final String FACTORY_TEST
Run as a manufacturer test application, running as the root user. Only available when the device is running in manufacturer test mode.
Not for use by third-party applications.
Constant Value: "android.permission.FACTORY_TEST"
public static final String FOREGROUND_SERVICE
Allows a regular application to use Service.startForeground.
Protection level: normal
Constant Value: "android.permission.FOREGROUND_SERVICE"
public static final String FOREGROUND_SERVICE_CAMERA
Allows a regular application to use Service.startForeground with the type "camera".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_CAMERA"
public static final String FOREGROUND_SERVICE_CONNECTED_DEVICE
Allows a regular application to use Service.startForeground with the type "connectedDevice".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
public static final String FOREGROUND_SERVICE_DATA_SYNC
Allows a regular application to use Service.startForeground with the type "dataSync".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_DATA_SYNC"
public static final String FOREGROUND_SERVICE_HEALTH
Allows a regular application to use Service.startForeground with the type "health".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_HEALTH"
public static final String FOREGROUND_SERVICE_LOCATION
Allows a regular application to use Service.startForeground with the type "location".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_LOCATION"
public static final String FOREGROUND_SERVICE_MEDIA_PLAYBACK
Allows a regular application to use Service.startForeground with the type "mediaPlayback".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
public static final String FOREGROUND_SERVICE_MEDIA_PROCESSING
Allows a regular application to use Service.startForeground with the type "mediaProcessing".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"
public static final String FOREGROUND_SERVICE_MEDIA_PROJECTION
Allows a regular application to use Service.startForeground with the type "mediaProjection".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
public static final String FOREGROUND_SERVICE_MICROPHONE
Allows a regular application to use Service.startForeground with the type "microphone".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_MICROPHONE"
public static final String FOREGROUND_SERVICE_PHONE_CALL
Allows a regular application to use Service.startForeground with the type "phoneCall".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_PHONE_CALL"
public static final String FOREGROUND_SERVICE_REMOTE_MESSAGING
Allows a regular application to use Service.startForeground with the type "remoteMessaging".
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
public static final String FOREGROUND_SERVICE_SPECIAL_USE
Allows a regular application to use Service.startForeground with the type "specialUse".
Protection level: normal|appop|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
public static final String FOREGROUND_SERVICE_SYSTEM_EXEMPTED
Allows a regular application to use Service.startForeground with the type "systemExempted".
Apps are allowed to use this type only in the use cases listed in
ServiceInfo.FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED.
Protection level: normal|instant
Constant Value: "android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
public static final String GET_ACCOUNTS
Allows access to the list of accounts in the Accounts Service.
Note: Beginning with Android 6.0 (API level
23), if an app shares the signature of the authenticator that manages an
account, it does not need "GET_ACCOUNTS" permission to read
information about that account. On Android 5.1 and lower, all apps need
"GET_ACCOUNTS" permission to read information about any
account.
Protection level: dangerous
Constant Value: "android.permission.GET_ACCOUNTS"
public static final String GET_ACCOUNTS_PRIVILEGED
Allows access to the list of accounts in the Accounts Service.
Protection level: signature|privileged
Constant Value: "android.permission.GET_ACCOUNTS_PRIVILEGED"
public static final String GET_PACKAGE_SIZE
Allows an application to find out the space used by any package.
Protection level: normal
Constant Value: "android.permission.GET_PACKAGE_SIZE"
public static final String GET_TASKS
This constant was deprecated
in API level 21.
No longer enforced.
Constant Value: "android.permission.GET_TASKS"
public static final String GLOBAL_SEARCH
This permission can be used on content providers to allow the global search system to access their data. Typically it used when the provider has some permissions protecting it (which global search would not be expected to hold), and added as a read-only permission to the path in the provider where global search queries are performed. This permission can not be held by regular applications; it is used by applications to protect themselves from everyone else besides global search.
Protection level: signature|privileged
Constant Value: "android.permission.GLOBAL_SEARCH"
public static final String HIDE_OVERLAY_WINDOWS
Allows an app to prevent non-system-overlay windows from being drawn on top of it
Constant Value: "android.permission.HIDE_OVERLAY_WINDOWS"
public static final String HIGH_SAMPLING_RATE_SENSORS
Allows an app to access sensor data with a sampling rate greater than 200 Hz.
Protection level: normal
Constant Value: "android.permission.HIGH_SAMPLING_RATE_SENSORS"
public static final String INSTALL_LOCATION_PROVIDER
Allows an application to install a location provider into the Location Manager.
Not for use by third-party applications.
Constant Value: "android.permission.INSTALL_LOCATION_PROVIDER"
public static final String INSTALL_PACKAGES
Allows an application to install packages.
Not for use by third-party applications.
Constant Value: "android.permission.INSTALL_PACKAGES"
public static final String INSTALL_SHORTCUT
Allows an application to install a shortcut in Launcher.
In Android O (API level 26) and higher, the INSTALL_SHORTCUT broadcast no
longer has any effect on your app because it's a private, implicit
broadcast. Instead, you should create an app shortcut by using the
requestPinShortcut()
method from the ShortcutManager class.
Protection level: normal
Constant Value: "com.android.launcher.permission.INSTALL_SHORTCUT"
public static final String INSTANT_APP_FOREGROUND_SERVICE
Allows an instant app to create foreground services.
Protection level: signature|development|instant|appop
Constant Value: "android.permission.INSTANT_APP_FOREGROUND_SERVICE"
public static final String INTERACT_ACROSS_PROFILES
Allows interaction across profiles in the same profile group.
Constant Value: "android.permission.INTERACT_ACROSS_PROFILES"
public static final String INTERNET
Allows applications to open network sockets.
Protection level: normal
Constant Value: "android.permission.INTERNET"
public static final String KILL_BACKGROUND_PROCESSES
Allows an application to call
ActivityManager.killBackgroundProcesses(String).
As of Android version Build.VERSION_CODES.UPSIDE_DOWN_CAKE,
the ActivityManager.killBackgroundProcesses(String) is no longer available to
third party applications. For backwards compatibility, the background processes of the
caller's own package will still be killed when calling this API. If the caller has
the system permission KILL_ALL_BACKGROUND_PROCESSES, other processes will be
killed too.
Protection level: normal
Constant Value: "android.permission.KILL_BACKGROUND_PROCESSES"
public static final String LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
Allows an application to capture screen content to perform a screenshot using the intent
action Intent.ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE.
Protection level: internal|role
Intended for use by ROLE_NOTES only.
Constant Value: "android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
public static final String LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK
An application needs this permission for
Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY to show its
Activity embedded in Settings app.
Constant Value: "android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
public static final String LOADER_USAGE_STATS
Allows a data loader to read a package's access logs. The access logs contain the set of pages referenced over time.
Declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.
Protection level: signature|privileged|appop
A data loader has to be the one which provides data to install an app.
A data loader has to have both permission:LOADER_USAGE_STATS AND appop:LOADER_USAGE_STATS allowed to be able to access the read logs.
Constant Value: "android.permission.LOADER_USAGE_STATS"
public static final String LOCATION_HARDWARE
Allows an application to use location features in hardware, such as the geofencing api.
Not for use by third-party applications.
Constant Value: "android.permission.LOCATION_HARDWARE"
public static final String MANAGE_DEVICE_LOCK_STATE
Allows financed device kiosk apps to perform actions on the Device Lock service
Protection level: internal|role
Intended for use by the FINANCED_DEVICE_KIOSK role only.
Constant Value: "android.permission.MANAGE_DEVICE_LOCK_STATE"
public static final String MANAGE_DEVICE_POLICY_ACCESSIBILITY
Allows an application to manage policy related to accessibility.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to
call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
public static final String MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT
Allows an application to set policy related to account management.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
public static final String MANAGE_DEVICE_POLICY_ACROSS_USERS
Allows an application to set device policies outside the current user that are required for securing device ownership without accessing user data.
Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_* permissions across all users on the device provided they do not grant access to user data.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
public static final String MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL
Allows an application to set device policies outside the current user.
Fuller form of MANAGE_DEVICE_POLICY_ACROSS_USERS
that removes the restriction on accessing user data.
Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_* permissions across all users on the device.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
public static final String MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL
Allows an application to set device policies outside the current user that are critical for securing data within the current user.
Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_* permissions across all users on the device provided they are required for securing data within the current user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
public static final String MANAGE_DEVICE_POLICY_AIRPLANE_MODE
Allows an application to set policy related to airplane mode.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
public static final String MANAGE_DEVICE_POLICY_APPS_CONTROL
Allows an application to manage policy regarding modifying applications.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
public static final String MANAGE_DEVICE_POLICY_APP_FUNCTIONS
Allows an application to manage policy related to AppFunctions.
Protection level: internal|role
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_APP_FUNCTIONS"
public static final String MANAGE_DEVICE_POLICY_APP_RESTRICTIONS
Allows an application to manage application restrictions.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
public static final String MANAGE_DEVICE_POLICY_APP_USER_DATA
Allows an application to manage policy related to application user data.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
public static final String MANAGE_DEVICE_POLICY_ASSIST_CONTENT
Allows an application to set policy related to sending assist content to a privileged app such as the Assistant app.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
public static final String MANAGE_DEVICE_POLICY_AUDIO_OUTPUT
Allows an application to set policy related to audio output.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
public static final String MANAGE_DEVICE_POLICY_AUTOFILL
Allows an application to set policy related to autofill.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
public static final String MANAGE_DEVICE_POLICY_BACKUP_SERVICE
Allows an application to manage backup service policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
public static final String MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL
Allows an application to manage policy related to block package uninstallation.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"
public static final String MANAGE_DEVICE_POLICY_BLUETOOTH
Allows an application to set policy related to bluetooth.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
public static final String MANAGE_DEVICE_POLICY_BUGREPORT
Allows an application to request bugreports with user consent.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
public static final String MANAGE_DEVICE_POLICY_CALLS
Allows an application to manage calling policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_CALLS"
public static final String MANAGE_DEVICE_POLICY_CAMERA
Allows an application to set policy related to restricting a user's ability to use or enable and disable the camera.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_CAMERA"
public static final String MANAGE_DEVICE_POLICY_CAMERA_TOGGLE
Allows an application to manage policy related to camera toggle.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"
public static final String MANAGE_DEVICE_POLICY_CERTIFICATES
Allows an application to set policy related to certificates.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
public static final String MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE
Allows an application to manage policy related to common criteria mode.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
public static final String MANAGE_DEVICE_POLICY_CONTENT_PROTECTION
Allows an application to manage policy related to content protection.
Protection level: internal|role
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
public static final String MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES
Allows an application to manage debugging features policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
public static final String MANAGE_DEVICE_POLICY_DEFAULT_SMS
Allows an application to set policy related to the default sms application.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
public static final String MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS
Allows an application to manage policy related to device identifiers.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
public static final String MANAGE_DEVICE_POLICY_DISPLAY
Allows an application to set policy related to the display.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
public static final String MANAGE_DEVICE_POLICY_FACTORY_RESET
Allows an application to set policy related to factory reset.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
public static final String MANAGE_DEVICE_POLICY_FUN
Allows an application to set policy related to fun.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_FUN"
public static final String MANAGE_DEVICE_POLICY_INPUT_METHODS
Allows an application to set policy related to input methods.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"
public static final String MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES
Allows an application to manage installing from unknown sources policy.
MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
public static final String MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES
Allows an application to set policy related to keeping uninstalled packages.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
public static final String MANAGE_DEVICE_POLICY_KEYGUARD
Allows an application to manage policy related to keyguard features. Like whether the camera, notifications are allowed on the secure keyguard screens.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
public static final String MANAGE_DEVICE_POLICY_LOCALE
Allows an application to set policy related to locale.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_LOCALE"
public static final String MANAGE_DEVICE_POLICY_LOCATION
Allows an application to set policy related to location.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_LOCATION"
public static final String MANAGE_DEVICE_POLICY_LOCK
Allows an application to lock a profile or the device with the appropriate cross-user permission.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK"
public static final String MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS
Allows an application to set policy related to lock credentials.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
public static final String MANAGE_DEVICE_POLICY_LOCK_TASK
Allows an application to manage lock task policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
public static final String MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS
Allows an application to set policy related to subscriptions downloaded by an admin.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
public static final String MANAGE_DEVICE_POLICY_METERED_DATA
Allows an application to manage policy related to metered data.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
public static final String MANAGE_DEVICE_POLICY_MICROPHONE
Allows an application to set policy related to restricting a user's ability to use or enable and disable the microphone.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
public static final String MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE
Allows an application to manage policy related to microphone toggle.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"
public static final String MANAGE_DEVICE_POLICY_MOBILE_NETWORK
Allows an application to set policy related to mobile networks.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
public static final String MANAGE_DEVICE_POLICY_MODIFY_USERS
Allows an application to manage policy preventing users from modifying users.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
public static final String MANAGE_DEVICE_POLICY_MTE
Allows an application to manage policy related to the Memory Tagging Extension (MTE).
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_MTE"
public static final String MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION
Allows an application to set policy related to nearby communications (e.g. Beam and nearby streaming).
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
public static final String MANAGE_DEVICE_POLICY_NETWORK_LOGGING
Allows an application to set policy related to network logging.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
public static final String MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY
Allows an application to manage the identity of the managing organization.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"
public static final String MANAGE_DEVICE_POLICY_OVERRIDE_APN
Allows an application to set policy related to override APNs.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
public static final String MANAGE_DEVICE_POLICY_PACKAGE_STATE
Allows an application to set policy related to hiding and suspending packages.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
public static final String MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA
Allows an application to set policy related to physical media.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
public static final String MANAGE_DEVICE_POLICY_PRINTING
Allows an application to set policy related to printing.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PRINTING"
public static final String MANAGE_DEVICE_POLICY_PRIVATE_DNS
Allows an application to set policy related to private DNS.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
public static final String MANAGE_DEVICE_POLICY_PROFILES
Allows an application to set policy related to profiles.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PROFILES"
public static final String MANAGE_DEVICE_POLICY_PROFILE_INTERACTION
Allows an application to set policy related to interacting with profiles (e.g. Disallowing cross-profile copy and paste).
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
public static final String MANAGE_DEVICE_POLICY_PROXY
Allows an application to set a network-independent global HTTP proxy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_PROXY"
public static final String MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES
Allows an application query system updates.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
public static final String MANAGE_DEVICE_POLICY_RESET_PASSWORD
Allows an application to force set a new device unlock password or a managed profile challenge on current user.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
public static final String MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS
Allows an application to set policy related to restricting the user from configuring private DNS.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
public static final String MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS
Allows an application to set the grant state of runtime permissions on packages.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"
public static final String MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND
Allows an application to set policy related to users running in the background.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
public static final String MANAGE_DEVICE_POLICY_SAFE_BOOT
Allows an application to manage safe boot policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
public static final String MANAGE_DEVICE_POLICY_SCREEN_CAPTURE
Allows an application to set policy related to screen capture.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
public static final String MANAGE_DEVICE_POLICY_SCREEN_CONTENT
Allows an application to set policy related to the usage of the contents of the screen.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
public static final String MANAGE_DEVICE_POLICY_SECURITY_LOGGING
Allows an application to set policy related to security logging.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
public static final String MANAGE_DEVICE_POLICY_SETTINGS
Allows an application to set policy related to settings.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
public static final String MANAGE_DEVICE_POLICY_SMS
Allows an application to set policy related to sms.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SMS"
public static final String MANAGE_DEVICE_POLICY_STATUS_BAR
Allows an application to set policy related to the status bar.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
public static final String MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE
Allows an application to set support messages for when a user action is affected by an active policy.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"
public static final String MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS
Allows an application to set policy related to suspending personal apps.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
public static final String MANAGE_DEVICE_POLICY_SYSTEM_APPS
Allows an application to manage policy related to system apps.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
public static final String MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS
Allows an application to set policy related to system dialogs.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
public static final String MANAGE_DEVICE_POLICY_SYSTEM_UPDATES
Allows an application to set policy related to system updates.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
public static final String MANAGE_DEVICE_POLICY_THREAD_NETWORK
Allows an application to set policy related to Thread network.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
public static final String MANAGE_DEVICE_POLICY_TIME
Allows an application to manage device policy relating to time.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_TIME"
public static final String MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING
Allows an application to set policy related to usb data signalling.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
public static final String MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER
Allows an application to set policy related to usb file transfers.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
public static final String MANAGE_DEVICE_POLICY_USERS
Allows an application to set policy related to users.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_USERS"
public static final String MANAGE_DEVICE_POLICY_VPN
Allows an application to set policy related to VPNs.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_VPN"
public static final String MANAGE_DEVICE_POLICY_WALLPAPER
Allows an application to set policy related to the wallpaper.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
public static final String MANAGE_DEVICE_POLICY_WIFI
Allows an application to set policy related to Wifi.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_WIFI"
public static final String MANAGE_DEVICE_POLICY_WINDOWS
Allows an application to set policy related to windows.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL is
required to call APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
public static final String MANAGE_DEVICE_POLICY_WIPE_DATA
Allows an application to manage policy related to wiping data.
Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS is required to call
APIs protected by this permission on users different to the calling user.
Protection level: internal|role
Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
Constant Value: "android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
public static final String MANAGE_DOCUMENTS
Allows an application to manage access to documents, usually as part of a document picker.
This permission should only be held by the platform document management app and the shell (for CTS). This permission cannot be granted to third-party apps.
Constant Value: "android.permission.MANAGE_DOCUMENTS"
public static final String MANAGE_EXTERNAL_STORAGE
Allows an application a broad access to external storage in scoped storage. Intended to be used by few apps that need to manage files on behalf of the users.
Protection level: signature|appop|preinstalled
Constant Value: "android.permission.MANAGE_EXTERNAL_STORAGE"
public static final String MANAGE_MEDIA
Allows an application to modify and delete media files on this device or any connected
storage device without user confirmation. Applications must already be granted the
READ_EXTERNAL_STORAGE or MANAGE_EXTERNAL_STORAGE} permissions for this
permission to take effect.
Even if applications are granted this permission, if applications want to modify or
delete media files, they also must get the access by calling
MediaStore.createWriteRequest(ContentResolver, Collection),
MediaStore.createDeleteRequest(ContentResolver, Collection), or
MediaStore.createTrashRequest(ContentResolver, Collection, boolean).
This permission doesn't give read or write access directly. It only prevents the user confirmation dialog for these requests.
If applications are not granted ACCESS_MEDIA_LOCATION, the system also pops up
the user confirmation dialog for the write request.
Protection level: signature|appop|preinstalled
Constant Value: "android.permission.MANAGE_MEDIA"
public static final String MANAGE_ONGOING_CALLS
Allows to query ongoing call details and manage ongoing calls
Protection level: signature|appop
Constant Value: "android.permission.MANAGE_ONGOING_CALLS"
public static final String MANAGE_OWN_CALLS
Allows a calling application which manages its own calls through the self-managed
ConnectionService APIs. See
PhoneAccount.CAPABILITY_SELF_MANAGED for more information on the
self-managed ConnectionService APIs.
Protection level: normal
Constant Value: "android.permission.MANAGE_OWN_CALLS"
public static final String MANAGE_WIFI_INTERFACES
Allows applications to get notified when a Wi-Fi interface request cannot be satisfied without tearing down one or more other interfaces, and provide a decision whether to approve the request or reject it.
Not for use by third-party applications.
Constant Value: "android.permission.MANAGE_WIFI_INTERFACES"
public static final String MANAGE_WIFI_NETWORK_SELECTION
This permission is used to let OEMs grant their trusted app access to a subset of privileged wifi APIs to improve wifi performance. Allows applications to manage Wi-Fi network selection related features such as enable or disable global auto-join, modify connectivity scan intervals, and approve Wi-Fi Direct connections.
Not for use by third-party applications.
Constant Value: "android.permission.MANAGE_WIFI_NETWORK_SELECTION"
public static final String MASTER_CLEAR
Not for use by third-party applications.
Constant Value: "android.permission.MASTER_CLEAR"
public static final String MEDIA_CONTENT_CONTROL
Allows an application to know what content is playing and control its playback.
Not for use by third-party applications due to privacy of media consumption
Constant Value: "android.permission.MEDIA_CONTENT_CONTROL"
public static final String MEDIA_ROUTING_CONTROL
Allows an application to control the routing of media apps.
Only for use by role COMPANION_DEVICE_WATCH
Constant Value: "android.permission.MEDIA_ROUTING_CONTROL"
public static final String MODIFY_AUDIO_SETTINGS
Allows an application to modify global audio settings.
Protection level: normal
Constant Value: "android.permission.MODIFY_AUDIO_SETTINGS"
public static final String MODIFY_PHONE_STATE
Allows modification of the telephony state - power on, mmi, etc. Does not include placing calls.
Not for use by third-party applications.
Constant Value: "android.permission.MODIFY_PHONE_STATE"
public static final String MOUNT_FORMAT_FILESYSTEMS
Allows formatting file systems for removable storage.
Not for use by third-party applications.
Constant Value: "android.permission.MOUNT_FORMAT_FILESYSTEMS"
public static final String MOUNT_UNMOUNT_FILESYSTEMS
Allows mounting and unmounting file systems for removable storage.
Not for use by third-party applications.
Constant Value: "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
public static final String NEARBY_WIFI_DEVICES
Required to be able to advertise and connect to nearby devices via Wi-Fi.
Protection level: dangerous
Constant Value: "android.permission.NEARBY_WIFI_DEVICES"
public static final String NFC
Allows applications to perform I/O operations over NFC.
Protection level: normal
Constant Value: "android.permission.NFC"
public static final String NFC_PREFERRED_PAYMENT_INFO
Allows applications to receive NFC preferred payment service information.
Protection level: normal
Constant Value: "android.permission.NFC_PREFERRED_PAYMENT_INFO"
public static final String NFC_TRANSACTION_EVENT
Allows applications to receive NFC transaction events.
Protection level: normal
Constant Value: "android.permission.NFC_TRANSACTION_EVENT"
public static final String OVERRIDE_MEDIA_SESSION_OWNER
Allows an application to override the owner of a MediaSession.
Not for use by third-party applications due to privacy of media applications.
Constant Value: "android.permission.OVERRIDE_MEDIA_SESSION_OWNER"
public static final String OVERRIDE_WIFI_CONFIG
Allows an application to modify any wifi configuration, even if created by another application. Once reconfigured the original creator cannot make any further modifications.
Not for use by third-party applications.
Constant Value: "android.permission.OVERRIDE_WIFI_CONFIG"
public static final String PACKAGE_USAGE_STATS
Allows 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.
Protection level: signature|privileged|development|appop|retailDemo
Constant Value: "android.permission.PACKAGE_USAGE_STATS"
public static final String PERSISTENT_ACTIVITY
This 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.
Constant Value: "android.permission.PERSISTENT_ACTIVITY"
public static final String POST_NOTIFICATIONS
Allows an app to post notifications
Protection level: dangerous
Constant Value: "android.permission.POST_NOTIFICATIONS"
public static final String POST_PROMOTED_NOTIFICATIONS
Required for apps to post promoted notifications.
This is required in addition to (not instead of)
POST_NOTIFICATIONS.
Protection level: normal|appops
Constant Value: "android.permission.POST_PROMOTED_NOTIFICATIONS"
public static final String PROCESS_OUTGOING_CALLS
This constant was deprecated
in API level 29.
Applications should use CallRedirectionService instead
of the Intent.ACTION_NEW_OUTGOING_CALL broadcast.
Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.PROCESS_OUTGOING_CALLS"
public static final String PROVIDE_OWN_AUTOFILL_SUGGESTIONS
Allows an application to display its suggestions using the autofill framework.
For now, this permission is only granted to the Browser application.
Protection level: internal|role
Constant Value: "android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
public static final String PROVIDE_PRIVATE_COMPUTE_SERVICES
Allows an application to act as Private Compute Services, which allows the application to communicate with Private Compute Core components.
Protection level: signature|privileged
Constant Value: "android.permission.PROVIDE_PRIVATE_COMPUTE_SERVICES"
public static final String PROVIDE_REMOTE_CREDENTIALS
Allows an application to be able to store and retrieve credentials from a remote device.
Protection level: signature|privileged|role
Constant Value: "android.permission.PROVIDE_REMOTE_CREDENTIALS"
public static final String QUERY_ADVANCED_PROTECTION_MODE
Allows an application to query the device's advanced protection mode status.
Constant Value: "android.permission.QUERY_ADVANCED_PROTECTION_MODE"
public static final String QUERY_ALL_PACKAGES
Allows query of any normal app on the device, regardless of manifest declarations.
Protection level: normal
Constant Value: "android.permission.QUERY_ALL_PACKAGES"
public static final String RANGING
Required to be able to range to devices using generic ranging module.
Protection level: dangerous
Constant Value: "android.permission.RANGING"
public static final String READ_ASSISTANT_APP_SEARCH_DATA
Allows an application to query over global data in AppSearch that's visible to the ASSISTANT role.
Constant Value: "android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
public static final String READ_ASSIST_STRUCTURE_SCREEN_CONTENT
Allows an assistant application to read screen content in the AssistStructure.
Note: Beginning with
ERROR(C android.os.Build.VERSION_CODES.CINNAMON_BUN /Android C android.os.Build.VERSION_CODES.CINNAMON_BUN) This
permission is required by any VoiceInteractionService that wishes to
receive screen content in the AssistStructure when the assistant's
VoiceInteractionService is invoked either via hotword detection or from the system.
If this permission is not held, the AssistStructure will only obtain window data and will
omit any screen content from the provided AssistStructure.
Protection level: normal
Constant Value: "android.permission.READ_ASSIST_STRUCTURE_SCREEN_CONTENT"
public static final String READ_BASIC_PHONE_STATE
Allows read only access to phone state with a non dangerous permission, including the information like cellular network type, software version.
Constant Value: "android.permission.READ_BASIC_PHONE_STATE"
public static final String READ_CALENDAR
Allows an application to read the user's calendar data.
Protection level: dangerous
Constant Value: "android.permission.READ_CALENDAR"
public static final String READ_CALL_LOG
Allows an application to read the user's call log.
Note: If your app uses the
READ_CONTACTS permission and both your minSdkVersion and targetSdkVersion values are set to 15 or lower, the system implicitly
grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 16 or higher.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.READ_CALL_LOG"
public static final String READ_COLOR_ZONES
Allows an application to read the aggregated color zones on the screen for use cases like TV ambient backlight usages.
Protection level: normal
Constant Value: "android.permission.READ_COLOR_ZONES"
public static final String READ_CONTACTS
Allows an application to read the user's contacts data.
Protection level: dangerous
Constant Value: "android.permission.READ_CONTACTS"
public static final String READ_DROPBOX_DATA
Allows an application to access the data in Dropbox.
Not for use by third-party applications.
Constant Value: "android.permission.READ_DROPBOX_DATA"
public static final String READ_EXTERNAL_STORAGE
Allows an application to read from external storage.
Note: Starting in API level 33, this permission has no
effect. If your app accesses other apps' media files, request one or more of these permissions
instead: READ_MEDIA_IMAGES,
READ_MEDIA_VIDEO,
READ_MEDIA_AUDIO. Learn more about the
storage
permissions that are associated with media files.
This permission is enforced starting in API level 19. Before API level 19, this permission is not enforced and all apps still have access to read from external storage. You can test your app with the permission enforced by enabling Protect USB storage under Developer options in the Settings app on a device running Android 4.1 or higher.
Also starting in API level 19, this permission is not required to
read or write files in your application-specific directories returned by
Context.getExternalFilesDir(String) and
Context.getExternalCacheDir().
Starting in API level 29, apps don't need to request this permission to access files in
their app-specific directory on external storage, or their own files in the
MediaStore. Apps
shouldn't request this permission unless they need to access other apps' files in the
MediaStore. Read more about these changes in the
scoped storage section of the
developer documentation.
If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly
grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 4 or higher.
This is a soft restricted permission which cannot be held by an app it its
full form until the installer on record allowlists the permission.
Specifically, if the permission is allowlisted the holder app can access
external storage and the visual and aural media collections while if the
permission is not allowlisted the holder app can only access to the visual
and aural medial collections. Also the permission is immutably restricted
meaning that the allowlist state can be specified only at install time and
cannot change until the app is installed. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Protection level: dangerous
Constant Value: "android.permission.READ_EXTERNAL_STORAGE"
public static final String READ_HOME_APP_SEARCH_DATA
Allows an application to query over global data in AppSearch that's visible to the HOME role.
Constant Value: "android.permission.READ_HOME_APP_SEARCH_DATA"
public static final String READ_INPUT_STATE
This constant was deprecated
in API level 16.
The API that used this permission has been removed.
Allows an application to retrieve the current state of keys and switches.
Not for use by third-party applications.
Constant Value: "android.permission.READ_INPUT_STATE"
public static final String READ_LOGS
Allows an application to read the low-level system log files.
Not for use by third-party applications, because Log entries can contain the user's private information.
Constant Value: "android.permission.READ_LOGS"
public static final String READ_MEDIA_AUDIO
Allows an application to read audio files from external storage.
This permission is enforced starting in API level
Build.VERSION_CODES.TIRAMISU. An app which targets
Build.VERSION_CODES.TIRAMISU or higher and needs to read audio files from
external storage must hold this permission; READ_EXTERNAL_STORAGE is not required.
For apps with a targetSdkVersion of Build.VERSION_CODES.S_V2 or lower, the
READ_EXTERNAL_STORAGE permission is required, instead, to read audio files.
Protection level: dangerous
Constant Value: "android.permission.READ_MEDIA_AUDIO"
public static final String READ_MEDIA_IMAGES
Allows an application to read image files from external storage.
This permission is enforced starting in API level
Build.VERSION_CODES.TIRAMISU. An app which targets
Build.VERSION_CODES.TIRAMISU or higher and needs to read image files from
external storage must hold this permission; READ_EXTERNAL_STORAGE is not required.
For apps with a targetSdkVersion of Build.VERSION_CODES.S_V2 or lower, the
READ_EXTERNAL_STORAGE permission is required, instead, to read image files.
Protection level: dangerous
Constant Value: "android.permission.READ_MEDIA_IMAGES"
public static final String READ_MEDIA_VIDEO
Allows an application to read video files from external storage.
This permission is enforced starting in API level
Build.VERSION_CODES.TIRAMISU. An app which targets
Build.VERSION_CODES.TIRAMISU or higher and needs to read video files from
external storage must hold this permission; READ_EXTERNAL_STORAGE is not required.
For apps with a targetSdkVersion of Build.VERSION_CODES.S_V2 or lower, the
READ_EXTERNAL_STORAGE permission is required, instead, to read video files.
Protection level: dangerous
Constant Value: "android.permission.READ_MEDIA_VIDEO"
public static final String READ_MEDIA_VISUAL_USER_SELECTED
Allows an application to read image or video files from external storage that a user has
selected via the permission prompt photo picker. Apps can check this permission to verify that
a user has decided to use the photo picker, instead of granting access to
READ_MEDIA_IMAGES or READ_MEDIA_VIDEO. It does not prevent apps from
accessing the standard photo picker manually. This permission should be requested alongside
READ_MEDIA_IMAGES and/or READ_MEDIA_VIDEO, depending on which type of media
is desired.
This permission will be automatically added to an app's manifest if the app requests
READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, or ACCESS_MEDIA_LOCATION
regardless of target SDK. If an app does not request this permission, then the grant dialog
will return `PERMISSION_GRANTED` for READ_MEDIA_IMAGES and/or
READ_MEDIA_VIDEO, but the app will only have access to the media selected by the
user. This false grant state will persist until the app goes into the background.
Protection level: dangerous
Constant Value: "android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
public static final String READ_NEARBY_STREAMING_POLICY
Allows an application to read nearby streaming policy. The policy controls
whether to allow the device to stream its notifications and apps to nearby devices.
Applications that are not the device owner will need this permission to call
DevicePolicyManager.getNearbyNotificationStreamingPolicy() or
DevicePolicyManager.getNearbyAppStreamingPolicy().
Constant Value: "android.permission.READ_NEARBY_STREAMING_POLICY"
public static final String READ_PHONE_NUMBERS
Allows read access to the device's phone number(s), which is exposed to instant applications.
Protection level: dangerous
Constant Value: "android.permission.READ_PHONE_NUMBERS"
public static final String READ_PHONE_STATE
Allows read only access to phone state, including the current cellular network information,
the status of any ongoing calls, and a list of any PhoneAccounts
registered on the device.
Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly
grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 4 or higher.
Protection level: dangerous
Constant Value: "android.permission.READ_PHONE_STATE"
public static final String READ_PRECISE_PHONE_STATE
Allows read only access to precise phone state. Allows reading of detailed information about phone state for special-use applications such as dialers, carrier applications, or ims applications.
Constant Value: "android.permission.READ_PRECISE_PHONE_STATE"
public static final String READ_SMS
Allows an application to read SMS messages.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.READ_SMS"
public static final String READ_SYNC_SETTINGS
Allows applications to read the sync settings.
Protection level: normal
Constant Value: "android.permission.READ_SYNC_SETTINGS"
public static final String READ_SYNC_STATS
Allows applications to read the sync stats.
Protection level: normal
Constant Value: "android.permission.READ_SYNC_STATS"
public static final String READ_SYSTEM_PREFERENCES
Allows an application to access the Settings Preference services to read settings exposed by the system Settings app and system apps that contribute settings surfaced by the Settings app.
This allows the calling application to read settings values through the host application, agnostic of underlying storage.
Constant Value: "android.permission.READ_SYSTEM_PREFERENCES"
public static final String READ_VOICEMAIL
Allows an application to read voicemails in the system.
Protection level: signature|privileged|role
Constant Value: "com.android.voicemail.permission.READ_VOICEMAIL"
public static final String REBOOT
Required to be able to reboot the device.
Not for use by third-party applications.
Constant Value: "android.permission.REBOOT"
public static final String RECEIVE_BOOT_COMPLETED
Allows an application to receive the
Intent.ACTION_BOOT_COMPLETED that is
broadcast after the system finishes booting. If you don't
request this permission, you will not receive the broadcast at
that time. Though holding this permission does not have any
security implications, it can have a negative impact on the
user experience by increasing the amount of time it takes the
system to start and allowing applications to have themselves
running without the user being aware of them. As such, you must
explicitly declare your use of this facility to make that visible
to the user.
Protection level: normal
Constant Value: "android.permission.RECEIVE_BOOT_COMPLETED"
public static final String RECEIVE_MMS
Allows an application to monitor incoming MMS messages.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.RECEIVE_MMS"
public static final String RECEIVE_SENSITIVE_NOTIFICATIONS
Allows apps with a NotificationListenerService to receive notifications with sensitive information
Apps with a NotificationListenerService without this permission will not be able to view certain types of sensitive information contained in notifications
This permission also allows apps with the SMS permissions to query and receive broadcasts about SMS messages that contain One Time Passwords
Protection level: signature|preinstalled|knownSigner|role
Constant Value: "android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"
public static final String RECEIVE_SMS
Allows an application to receive SMS messages.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.RECEIVE_SMS"
public static final String RECEIVE_WAP_PUSH
Allows an application to receive WAP push messages.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.RECEIVE_WAP_PUSH"
public static final String RECORD_AUDIO
Allows an application to record audio.
Protection level: dangerous
Constant Value: "android.permission.RECORD_AUDIO"
public static final String REORDER_TASKS
Allows an application to change the Z-order of tasks.
Protection level: normal
Constant Value: "android.permission.REORDER_TASKS"
public static final String REPOSITION_SELF_WINDOWS
Allows an application to programmatically move and resize its tasks when the system is in
a state that allows such operations, e.g. in a desktop-like environment. It is only
extended to the default browser and OEM
specific signature apps.
Protection level: signature|role
Constant Value: "android.permission.REPOSITION_SELF_WINDOWS"
public static final String REQUEST_COMPANION_PROFILE_APP_STREAMING
Allows application to request to be associated with a virtual device capable of streaming
Android applications
(AssociationRequest.DEVICE_PROFILE_APP_STREAMING)
by CompanionDeviceManager.
Not for use by third-party applications.
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
public static final String REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION
Allows application to request to be associated with a vehicle head unit capable of
automotive projection
(AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION)
by CompanionDeviceManager.
Not for use by third-party applications.
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
public static final String REQUEST_COMPANION_PROFILE_COMPUTER
Allows application to request to be associated with a computer to share functionality
and/or data with other devices, such as notifications, photos and media
(AssociationRequest.DEVICE_PROFILE_COMPUTER)
by CompanionDeviceManager.
Not for use by third-party applications.
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
public static final String REQUEST_COMPANION_PROFILE_GLASSES
Allows app to request to be associated with a device via
CompanionDeviceManager
as "glasses"
Protection level: normal
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
public static final String REQUEST_COMPANION_PROFILE_MEDICAL
Allows application to request to associate with a
AssociationRequest.DEVICE_PROFILE_MEDICAL device via
CompanionDeviceManager.
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_MEDICAL"
public static final String REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING
Allows application to request to stream content from an Android host to a nearby device
(AssociationRequest.DEVICE_PROFILE_NEARBY_DEVICE_STREAMING)
by CompanionDeviceManager.
Not for use by third-party applications.
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
public static final String REQUEST_COMPANION_PROFILE_WATCH
Allows app to request to be associated with a device via
CompanionDeviceManager
as a "watch"
Protection level: normal
Constant Value: "android.permission.REQUEST_COMPANION_PROFILE_WATCH"
public static final String REQUEST_COMPANION_RUN_IN_BACKGROUND
Allows a companion app to run in the background. This permission implies
REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND,
and allows to start a foreground service from the background.
If an app does not have to run in the background, but only needs to start a foreground
service from the background, consider using
REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND,
which is less powerful.
Protection level: normal
Constant Value: "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
public static final String REQUEST_COMPANION_SELF_MANAGED
Allows an application to create a "self-managed" association.
Constant Value: "android.permission.REQUEST_COMPANION_SELF_MANAGED"
public static final String REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND
Allows a companion app to start a foreground service from the background.
Protection level: normal
See also:
Constant Value: "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
public static final String REQUEST_COMPANION_USE_DATA_IN_BACKGROUND
Allows a companion app to use data in the background.
Protection level: normal
Constant Value: "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
public static final String REQUEST_DELETE_PACKAGES
Allows an application to request deleting packages. Apps
targeting APIs Build.VERSION_CODES.P or greater must hold this
permission in order to use Intent.ACTION_UNINSTALL_PACKAGE or
PackageInstaller.uninstall(VersionedPackage, IntentSender).
Protection level: normal
Constant Value: "android.permission.REQUEST_DELETE_PACKAGES"
public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Permission an application must hold in order to use
Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
Protection level: normal
Constant Value: "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
public static final String REQUEST_INSTALL_PACKAGES
Allows an application to request installing packages. Apps
targeting APIs greater than 25 must hold this permission in
order to use Intent.ACTION_INSTALL_PACKAGE.
Protection level: signature
Constant Value: "android.permission.REQUEST_INSTALL_PACKAGES"
public static final String REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE
Allows an application to subscribe to notifications about the presence status change of their associated companion device
Constant Value: "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
public static final String REQUEST_OBSERVE_DEVICE_UUID_PRESENCE
Allows an application to subscribe to notifications about the nearby devices' presence status change base on the UUIDs.
Not for use by third-party applications.
Constant Value: "android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"
public static final String REQUEST_PASSWORD_COMPLEXITY
Allows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.
Protection level: normal
Constant Value: "android.permission.REQUEST_PASSWORD_COMPLEXITY"
public static final String RESTART_PACKAGES
This constant was deprecated
in API level 15.
The ActivityManager.restartPackage(String)
API is no longer supported.
Constant Value: "android.permission.RESTART_PACKAGES"
public static final String RUN_USER_INITIATED_JOBS
Allows applications to use the user-initiated jobs API. For more details
see JobInfo.Builder.setUserInitiated(boolean).
Protection level: normal
Constant Value: "android.permission.RUN_USER_INITIATED_JOBS"
public static final String SCHEDULE_EXACT_ALARM
Allows applications to use exact alarm APIs.
This is a special access permission that can be revoked by the system or the user. It should only be used to enable user-facing features that require exact alarms. For more details, please go through the associated developer docs.
Apps need to target API Build.VERSION_CODES.S or above to be able to
request this permission. Note that apps targeting lower API levels do not need this
permission to use exact alarm APIs.
Apps that hold this permission and target API
Build.VERSION_CODES.TIRAMISU and below always stay in the
WORKING_SET or
lower standby bucket.
If your app relies on exact alarms for core functionality, it can instead request
USE_EXACT_ALARM once it targets API
Build.VERSION_CODES.TIRAMISU. All apps using exact alarms for secondary
features (which should still be user facing) should continue using this permission.
Protection level: signature|privileged|appop
Constant Value: "android.permission.SCHEDULE_EXACT_ALARM"
public static final String SEND_RESPOND_VIA_MESSAGE
Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
Not for use by third-party applications.
Constant Value: "android.permission.SEND_RESPOND_VIA_MESSAGE"
public static final String SEND_SMS
Allows an application to send SMS messages.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.SEND_SMS"
public static final String SET_ALARM
Allows an application to broadcast an Intent to set an alarm for the user.
Protection level: normal
Constant Value: "com.android.alarm.permission.SET_ALARM"
public static final String SET_ALWAYS_FINISH
Allows an application to control whether activities are immediately finished when put in the background.
Not for use by third-party applications.
Constant Value: "android.permission.SET_ALWAYS_FINISH"
public static final String SET_ANIMATION_SCALE
Modify the global animation scaling factor.
Not for use by third-party applications.
Constant Value: "android.permission.SET_ANIMATION_SCALE"
public static final String SET_BIOMETRIC_DIALOG_ADVANCED
Allows an application to set the advanced features on BiometricDialog (SystemUI), including logo, logo description, and content view with more options button.
Not for use by third-party applications.
Constant Value: "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"
public static final String SET_DEBUG_APP
Configure an application for debugging.
Not for use by third-party applications.
Constant Value: "android.permission.SET_DEBUG_APP"
public static final String SET_PREFERRED_APPLICATIONS
This constant was deprecated
in API level 15.
No longer useful, see
PackageManager.addPackageToPreferred(String)
for details.
Constant Value: "android.permission.SET_PREFERRED_APPLICATIONS"
public static final String SET_PROCESS_LIMIT
Allows an application to set the maximum number of (not needed) application processes that can be running.
Not for use by third-party applications.
Constant Value: "android.permission.SET_PROCESS_LIMIT"
public static final String SET_TIME
Allows applications to set the system time directly.
Not for use by third-party applications.
Constant Value: "android.permission.SET_TIME"
public static final String SET_TIME_ZONE
Allows applications to set the system time zone directly.
Not for use by third-party applications.
Constant Value: "android.permission.SET_TIME_ZONE"
public static final String SET_WALLPAPER
Allows applications to set the wallpaper.
Protection level: normal
Constant Value: "android.permission.SET_WALLPAPER"
public static final String SET_WALLPAPER_HINTS
Allows applications to set the wallpaper hints.
Protection level: normal
Constant Value: "android.permission.SET_WALLPAPER_HINTS"
public static final String SHOW_POWER_MENU
Permission needed to request to show the Power Menu.
Granted to the current holder of the ASSISTANT role.
Constant Value: "android.permission.SHOW_POWER_MENU"
public static final String SHOW_POWER_MENU_PRIVILEGED
Permission needed to request to show the Power Menu.
Granted to certain privileged apps.
Constant Value: "android.permission.SHOW_POWER_MENU_PRIVILEGED"
public static final String SIGNAL_PERSISTENT_PROCESSES
Allow an application to request that a signal be sent to all persistent processes.
Not for use by third-party applications.
Constant Value: "android.permission.SIGNAL_PERSISTENT_PROCESSES"
public static final String SMS_FINANCIAL_TRANSACTIONS
This constant was deprecated
in API level 31.
The API that used this permission is no longer functional.
Allows financial apps to read filtered sms messages. Protection level: signature|appop
Constant Value: "android.permission.SMS_FINANCIAL_TRANSACTIONS"
public static final String START_FOREGROUND_SERVICES_FROM_BACKGROUND
Allows an application to start foreground services from the background at any time. This permission is not for use by third-party applications, with the only exception being if the app is the default SMS app. Otherwise, it's only usable by privileged apps, app verifier app, and apps with any of the EMERGENCY or SYSTEM GALLERY roles.
Constant Value: "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
public static final String START_VIEW_APP_FEATURES
Allows the holder to start the screen with a list of app features.
Protection level: signature|installer
Constant Value: "android.permission.START_VIEW_APP_FEATURES"
public static final String START_VIEW_PERMISSION_USAGE
Allows the holder to start the permission usage screen for an app.
Protection level: signature|installer
Constant Value: "android.permission.START_VIEW_PERMISSION_USAGE"
public static final String STATUS_BAR
Allows an application to open, close, or disable the status bar and its icons.
Not for use by third-party applications.
Constant Value: "android.permission.STATUS_BAR"
public static final String SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE
Allows an application to subscribe to device locked and keyguard locked (i.e., showing) state.
Protection level: signature|privileged|module|role
Intended for use by ROLE_ASSISTANT, VDM, and signature / privileged apps only.
Constant Value: "android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
public static final String SYSTEM_ALERT_WINDOW
Allows an app to create windows using the type
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
shown on top of all other apps. Very few apps
should use this permission; these windows are intended for
system-level interaction with the user.
Note: If the app
targets API level 23 or higher, the app user must explicitly grant
this permission to the app through a permission management screen. The app requests
the user's approval by sending an intent with action
Settings.ACTION_MANAGE_OVERLAY_PERMISSION.
The app can check whether it has this authorization by calling
Settings.canDrawOverlays().
Protection level: signature|setup|appop|installer|pre23|development
Constant Value: "android.permission.SYSTEM_ALERT_WINDOW"
public static final String TRANSMIT_IR
Allows using the device's IR transmitter, if available.
Protection level: normal
Constant Value: "android.permission.TRANSMIT_IR"
public static final String TURN_SCREEN_ON
Allows an app to turn on the screen on, e.g. with
PowerManager.ACQUIRE_CAUSES_WAKEUP.
Intended to only be used by home automation apps.
Constant Value: "android.permission.TURN_SCREEN_ON"
public static final String TV_IMPLICIT_ENTER_PIP
Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting
it. This includes using ERROR(/PictureInPictureParams.Builder#setAutoEnterEnabled) as well
as lifecycle methods such as ERROR(/Activity#onUserLeaveHint) and ERROR(/Activity#onPause)
to enter PiP when the user leaves the app.
This permission should only be used for certain PiP
usage types.
Constant Value: "android.permission.TV_IMPLICIT_ENTER_PIP"
public static final String UNINSTALL_SHORTCUT
Don't use this permission in your app.
This
permission is no longer supported.
Constant Value: "com.android.launcher.permission.UNINSTALL_SHORTCUT"
public static final String UPDATE_DEVICE_STATS
Allows an application to update device statistics.
Not for use by third-party applications.
Constant Value: "android.permission.UPDATE_DEVICE_STATS"
public static final String UPDATE_PACKAGES_WITHOUT_USER_ACTION
Allows an application to indicate via
PackageInstaller.SessionParams.setRequireUserAction(int)
that user action should not be required for an app update.
Protection level: normal
Constant Value: "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
public static final String USE_BIOMETRIC
Allows an app to use device supported biometric modalities.
Protection level: normal
Constant Value: "android.permission.USE_BIOMETRIC"
public static final String USE_EXACT_ALARM
Allows apps to use exact alarms just like with SCHEDULE_EXACT_ALARM but without needing to request this
permission from the user.
This is only intended for use by apps that rely on exact alarms for their core
functionality. You should continue using SCHEDULE_EXACT_ALARM if your app needs
exact alarms for a secondary feature that users may or may not use within your app.
Keep in mind that this is a powerful permission and app stores may enforce policies to audit and review the use of this permission. Such audits may involve removal from the app store if the app is found to be misusing this permission.
Apps need to target API Build.VERSION_CODES.TIRAMISU or above to be
able to request this permission. Note that only one of USE_EXACT_ALARM or
SCHEDULE_EXACT_ALARM should be requested on a device. If your app is already using
SCHEDULE_EXACT_ALARM on older SDKs but needs USE_EXACT_ALARM on SDK 33 and
above, then SCHEDULE_EXACT_ALARM should be declared with a max-sdk attribute, like:
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" 	 android:maxSdkVersion="32" />
Apps that hold this permission, always stay in the
WORKING_SET or
lower standby bucket.
Constant Value: "android.permission.USE_EXACT_ALARM"
public static final String USE_FINGERPRINT
This constant was deprecated
in API level 28.
Applications should request USE_BIOMETRIC instead
Allows an app to use fingerprint hardware.
Protection level: normal
Constant Value: "android.permission.USE_FINGERPRINT"
public static final String USE_FULL_SCREEN_INTENT
Required for apps targeting Build.VERSION_CODES.Q that want to use
notification full screen
intents.
Protection level: normal
Constant Value: "android.permission.USE_FULL_SCREEN_INTENT"
public static final String USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
Allows to read device identifiers and use ICC based authentication like EAP-AKA. Often required in authentication to access the carrier's server and manage services of the subscriber.
Protection level: signature|appop
Constant Value: "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
public static final String USE_LOCATION_BUTTON
Allows an app use location button, which grants temporary location permission when a user clicks the button.
Protection level: normal
Constant Value: "android.permission.USE_LOCATION_BUTTON"
public static final String USE_LOOPBACK_INTERFACE
Required to be able to interact with other applications via IP packets on the loopback interface.
Protection level: normal
Constant Value: "android.permission.USE_LOOPBACK_INTERFACE"
public static final String USE_PINNED_WINDOWING_LAYER
Allows an application to use
ActivityManager.AppTask.WINDOWING_LAYER_PINNED for its Tasks,
typically requested via ActivityManager.AppTask.requestWindowingLayer(int, Executor, OutcomeReceiver).
Granting this permission allows an app to request its task be placed above normal application windows.
To ensure system integrity and a consistent user experience, the system imposes several restrictions on tasks using this layer. These may include, but are not limited to:
See the API documentation for
ActivityManager.AppTask.requestWindowingLayer(int, Executor, OutcomeReceiver) for the full documentation.
Protection level: normal
Constant Value: "android.permission.USE_PINNED_WINDOWING_LAYER"
public static final String USE_SIP
Allows an application to use SIP service.
Protection level: dangerous
Constant Value: "android.permission.USE_SIP"
public static final String UWB_RANGING
Required to be able to range to devices using ultra-wideband.
Protection level: dangerous
Constant Value: "android.permission.UWB_RANGING"
public static final String VIBRATE
Allows access to the vibrator.
Protection level: normal
Constant Value: "android.permission.VIBRATE"
public static final String WAKE_LOCK
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
Protection level: normal
Constant Value: "android.permission.WAKE_LOCK"
public static final String WRITE_APN_SETTINGS
Allows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.
Not for use by third-party applications.
Constant Value: "android.permission.WRITE_APN_SETTINGS"
public static final String WRITE_CALENDAR
Allows an application to write the user's calendar data.
Protection level: dangerous
Constant Value: "android.permission.WRITE_CALENDAR"
public static final String WRITE_CALL_LOG
Allows an application to write and read the user's call log data.
Note: If your app uses the
WRITE_CONTACTS permission and both your minSdkVersion and targetSdkVersion values are set to 15 or lower, the system implicitly
grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 16 or higher.
Protection level: dangerous
This is a hard restricted permission which cannot be held by an app until
the installer on record allowlists the permission. For more details see
PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions(Set).
Constant Value: "android.permission.WRITE_CALL_LOG"
public static final String WRITE_CONTACTS
Allows an application to write the user's contacts data.
Protection level: dangerous
Constant Value: "android.permission.WRITE_CONTACTS"
public static final String WRITE_EXTERNAL_STORAGE
Allows an application to write to external storage.
Note: If your app targets Build.VERSION_CODES.R or
higher, this permission has no effect.
If your app is on a device that runs API level 19 or higher, you don't need to declare
this permission to read and write files in your application-specific directories returned
by Context.getExternalFilesDir(String) and
Context.getExternalCacheDir().
Learn more about how to modify media files that your app doesn't own, and how to modify non-media files that your app doesn't own.
If your app is a file manager and needs broad access to external storage files, then the system must place your app on an allowlist so that you can successfully request the MANAGE_EXTERNAL_STORAGE permission. Learn more about the appropriate use cases for managing all files on a storage device.
If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly
grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 4 or higher.
Protection level: dangerous
Constant Value: "android.permission.WRITE_EXTERNAL_STORAGE"
public static final String WRITE_GSERVICES
Allows an application to modify the Google service map.
Not for use by third-party applications.
Constant Value: "android.permission.WRITE_GSERVICES"
public static final String WRITE_SECURE_SETTINGS
Allows an application to read or write the secure system settings.
Not for use by third-party applications.
Constant Value: "android.permission.WRITE_SECURE_SETTINGS"
public static final String WRITE_SETTINGS
Allows an application to read or write the system settings.
Note: If the app targets API level 23
or higher, the app user
must explicitly grant this permission to the app through a permission management screen.
The app requests the user's approval by sending an intent with action
Settings.ACTION_MANAGE_WRITE_SETTINGS. The app
can check whether it has this authorization by calling Settings.System.canWrite().
Protection level: signature|preinstalled|appop|pre23
Constant Value: "android.permission.WRITE_SETTINGS"
public static final String WRITE_SYNC_SETTINGS
Allows applications to write the sync settings.
Protection level: normal
Constant Value: "android.permission.WRITE_SYNC_SETTINGS"
public static final String WRITE_SYSTEM_PREFERENCES
Allows an application to access the Settings Preference services to write settings values exposed by the system Settings app and system apps that contribute settings surfaced in the Settings app.
This allows the calling application to write settings values through the host application, agnostic of underlying storage.
Protection Level: signature|privileged|appop
Constant Value: "android.permission.WRITE_SYSTEM_PREFERENCES"
public static final String WRITE_VOICEMAIL
Allows an application to modify and remove existing voicemails in the system.
Protection level: signature|privileged|role
Constant Value: "com.android.voicemail.permission.WRITE_VOICEMAIL"
public permission ()
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2026-03-26 UTC.