Added in API level 1

permission


class permission
kotlin.Any
   ↳ android.Manifest.permission

Summary

Constants
static String

Allows a calling app to continue a call which was started in another app.

static String

Allows an app to access location in the background.

static String

Allows an application to retrieve the sensor security strengths of the biometric sensors.

static String

Allows an application to access data blobs across users.

static String

Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.

static String

Allows an app to access approximate location.

static String

Allows an app to access precise location.

static String

Allows applications to access profiles with android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN user property, e.

static String

This permission protects a content provider within home/launcher applications, enabling management of home screen metadata such as shortcut placement, launch intents, and labels.

static String

Required to be able to advertise and connect to local network devices.

static String

Allows an application to access extra location provider commands.

static String

Allows an application to access any geographic locations persisted in the user's shared collection.

static String

Allows applications to access information about networks.

static String

Marker permission for applications that wish to access notification policy.

static String

Allows applications to access information about Wi-Fi networks.

static String

Allows applications to call into AccountAuthenticators.

static String

Allows an application to recognize physical activity.

static String

Allows an application to add voicemails into the system.

static String

Allows the app to answer an incoming phone call.

static String

Allows an app to apply a MediaQualityManager.

static String

Allows an application to collect battery statistics

static String

Must be required by an android.accessibilityservice.AccessibilityService, to ensure that only the system can bind to it.

static String

Allows an application to tell the AppWidget service which application can access AppWidget's data.

static String

Must be required by an android.app.appfunctions.AppFunctionService, to ensure that only the system can bind to it.

static String

Must be required by a android.service.autofill.AutofillService, to ensure that only the system can bind to it.

static String

Must be required by a android.telecom.CallRedirectionService, to ensure that only the system can bind to it.

static String

A subclass of android.service.carrier.CarrierMessagingClientService must be protected with this permission.

static String

static String

The system process that is allowed to bind to services in carrier apps will have this permission.

static String

Must be required by a android.service.chooser.ChooserTargetService, to ensure that only the system can bind to it.

static String

Must be required by any android.companion.CompanionDeviceServices to ensure that only the system can bind to it.

static String

Must be required by a android.service.notification.ConditionProviderService, to ensure that only the system can bind to it.

static String

Allows SystemUI to request third party controls.

static String

Must be required by a CredentialProviderService to ensure that only the system can bind to it.

static String

Must be required by device administration receiver, to ensure that only the system can interact with it.

static String

Must be required by an android.service.dreams.DreamService, to ensure that only the system can bind to it.

static String

Must be required by a android.telecom.InCallService, to ensure that only the system can bind to it.

static String

Must be required by an android.inputmethodservice.InputMethodService, to ensure that only the system can bind to it.

static String

Must be required by an android.media.midi.MidiDeviceService, to ensure that only the system can bind to it.

static String

Must be required by a android.nfc.cardemulation.HostApduService or android.nfc.cardemulation.OffHostApduService to ensure that only the system can bind to it.

static String

Must be required by an android.service.notification.NotificationListenerService, to ensure that only the system can bind to it.

static String

Must be required by a android.printservice.PrintService, to ensure that only the system can bind to it.

static String

Must be required by a android.service.quickaccesswallet.QuickAccessWalletService to ensure that only the system can bind to it.

static String

Allows an application to bind to third party quick settings tiles.

static String

Must be required by a android.widget.RemoteViewsService, to ensure that only the system can bind to it.

static String

Must be required by a android.telecom.CallScreeningService, to ensure that only the system can bind to it.

static String

Must be required by a android.telecom.ConnectionService, to ensure that only the system can bind to it.

static String

Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.

static String

Must be required by a android.

static String

Must be required by a android.media.tv.TvInputService to ensure that only the system can bind to it.

static String

Must be required by a android.media.tv.interactive.TvInteractiveAppService to ensure that only the system can bind to it.

static String

Must be required by a link android.telephony.VisualVoicemailService to ensure that only the system can bind to it.

static String

Must be required by a android.service.voice.VoiceInteractionService, to ensure that only the system can bind to it.

static String

Must be required by a android.net.VpnService, to ensure that only the system can bind to it.

static String

Must be required by an android.service.vr.VrListenerService, to ensure that only the system can bind to it.

static String

Must be required by a android.service.wallpaper.WallpaperService, to ensure that only the system can bind to it.

static String

Allows applications to connect to paired bluetooth devices.

static String

Allows applications to discover and pair bluetooth devices.

static String

Required to be able to advertise to nearby Bluetooth devices.

static String

Required to be able to connect to paired Bluetooth devices.

static String

Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.

static String

Required to be able to discover and pair nearby Bluetooth devices.

static String

Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.

static String

Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.

static String

Allows an application to broadcast a notification that an application package has been removed.

static String

Allows an application to broadcast an SMS receipt notification.

static String

Allows an application to broadcast sticky intents.

static String

Allows an application to broadcast a WAP PUSH receipt notification.

static String

Allows an app which implements the InCallService API to be eligible to be enabled as a calling companion app.

static String

Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.

static String

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.

static String

Required to be able to access the camera device.

static String

Allows an application to capture audio output.

static String

Allows the currently focused application to be able to consume keys before Android system get chance to process system keys and shortcuts.

static String

Allows an application to change whether an application component (other than its own) is enabled or not.

static String

Allows an application to modify the current configuration, such as locale.

static String

Allows applications to change network connectivity state.

static String

Allows applications to enter Wi-Fi Multicast mode.

static String

Allows applications to change Wi-Fi connectivity state.

static String

Allows an application to clear the caches of all installed applications on the device.

static String

Allows an application to configure and connect to Wifi displays

static String

Allows enabling/disabling location update notifications from the radio.

static String

Allows a browser to invoke the set of query apis to get metadata about credential candidates prepared during the CredentialManager.

static String

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.

static String

Allows a browser to invoke credential manager APIs on behalf of another RP.

static String

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.

static String

Allows an application to delete packages.

static String

Allows an application to deliver companion messages to system

static String

Allows an application to get notified when a screen capture of its windows is attempted.

static String

Allows an application to get notified when it is being recorded.

static String

Allows applications to RW to diagnostic resources.

static String

Allows applications to disable the keyguard if it is not secure.

static String

Allows an application to retrieve state dump information from system services.

static String

Allows an application to indicate via android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership that it has the intention of becoming the update owner.

static String

Allows an assistive application to perform actions on behalf of users inside of applications.

static String

Allows an application to perform actions on behalf of users inside of applications.

static String

Allows an application to expand or collapse the status bar.

static String

Run as a manufacturer test application, running as the root user.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows a regular application to use android.

static String

Allows access to the list of accounts in the Accounts Service.

static String

Allows access to the list of accounts in the Accounts Service.

static String

Allows an application to find out the space used by any package.

static String

static String

This permission can be used on content providers to allow the global search system to access their data.

static String

Allows an app to prevent non-system-overlay windows from being drawn on top of it

static String

Allows an app to access sensor data with a sampling rate greater than 200 Hz.

static String

Allows an application to install a location provider into the Location Manager.

static String

Allows an application to install packages.

static String

Allows an application to install a shortcut in Launcher.

static String

Allows an instant app to create foreground services.

static String

Allows interaction across profiles in the same profile group.

static String

Allows applications to open network sockets.

static String

Allows an application to call android.app.ActivityManager#killBackgroundProcesses.

static String

Allows an application to capture screen content to perform a screenshot using the intent action android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE.

static String

An application needs this permission for android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY to show its android.app.Activity embedded in Settings app.

static String

Allows a data loader to read a package's access logs.

static String

Allows an application to use location features in hardware, such as the geofencing api.

static String

Allows financed device kiosk apps to perform actions on the Device Lock service

static String

Allows an application to manage policy related to accessibility.

static String

Allows an application to set policy related to account management.

static String

Allows an application to set device policies outside the current user that are required for securing device ownership without accessing user data.

static String

Allows an application to set device policies outside the current user.

static String

Allows an application to set device policies outside the current user that are critical for securing data within the current user.

static String

Allows an application to set policy related to airplane mode.

static String

Allows an application to manage policy regarding modifying applications.

static String

Allows an application to manage policy related to AppFunctions.

static String

Allows an application to manage application restrictions.

static String

Allows an application to manage policy related to application user data.

static String

Allows an application to set policy related to sending assist content to a privileged app such as the Assistant app.

static String

Allows an application to set policy related to audio output.

static String

Allows an application to set policy related to autofill.

static String

Allows an application to manage backup service policy.

static String

Allows an application to manage policy related to block package uninstallation.

static String

Allows an application to set policy related to bluetooth.

static String

Allows an application to request bugreports with user consent.

static String

Allows an application to manage calling policy.

static String

Allows an application to set policy related to restricting a user's ability to use or enable and disable the camera.

static String

Allows an application to manage policy related to camera toggle.

static String

Allows an application to set policy related to certificates.

static String

Allows an application to manage policy related to common criteria mode.

static String

Allows an application to manage policy related to content protection.

static String

Allows an application to manage debugging features policy.

static String

Allows an application to set policy related to the default sms application.

static String

Allows an application to manage policy related to device identifiers.

static String

Allows an application to set policy related to the display.

static String

Allows an application to set policy related to factory reset.

static String

Allows an application to set policy related to fun.

static String

Allows an application to set policy related to input methods.

static String

Allows an application to manage installing from unknown sources policy.

static String

Allows an application to set policy related to keeping uninstalled packages.

static String

Allows an application to manage policy related to keyguard.

static String

Allows an application to set policy related to locale.

static String

Allows an application to set policy related to location.

static String

Allows an application to lock a profile or the device with the appropriate cross-user permission.

static String

Allows an application to set policy related to lock credentials.

static String

Allows an application to manage lock task policy.

static String

Allows an application to set policy related to subscriptions downloaded by an admin.

static String

Allows an application to manage policy related to metered data.

static String

Allows an application to set policy related to restricting a user's ability to use or enable and disable the microphone.

static String

Allows an application to manage policy related to microphone toggle.

static String

Allows an application to set policy related to mobile networks.

static String

Allows an application to manage policy preventing users from modifying users.

static String

Allows an application to manage policy related to the Memory Tagging Extension (MTE).

static String

Allows an application to set policy related to nearby communications (e.g. Beam and nearby streaming).

static String

Allows an application to set policy related to network logging.

static String

Allows an application to manage the identity of the managing organization.

static String

Allows an application to set policy related to override APNs.

static String

Allows an application to set policy related to hiding and suspending packages.

static String

Allows an application to set policy related to physical media.

static String

Allows an application to set policy related to printing.

static String

Allows an application to set policy related to private DNS.

static String

Allows an application to set policy related to profiles.

static String

Allows an application to set policy related to interacting with profiles (e.g. Disallowing cross-profile copy and paste).

static String

Allows an application to set a network-independent global HTTP proxy.

static String

Allows an application query system updates.

static String

Allows an application to force set a new device unlock password or a managed profile challenge on current user.

static String

Allows an application to set policy related to restricting the user from configuring private DNS.

static String

Allows an application to set the grant state of runtime permissions on packages.

static String

Allows an application to set policy related to users running in the background.

static String

Allows an application to manage safe boot policy.

static String

Allows an application to set policy related to screen capture.

static String

Allows an application to set policy related to the usage of the contents of the screen.

static String

Allows an application to set policy related to security logging.

static String

Allows an application to set policy related to settings.

static String

Allows an application to set policy related to sms.

static String

Allows an application to set policy related to the status bar.

static String

Allows an application to set support messages for when a user action is affected by an active policy.

static String

Allows an application to set policy related to suspending personal apps.

static String

Allows an application to manage policy related to system apps.

static String

Allows an application to set policy related to system dialogs.

static String

Allows an application to set policy related to system updates.

static String

Allows an application to set policy related to Thread network.

static String

Allows an application to manage device policy relating to time.

static String

Allows an application to set policy related to usb data signalling.

static String

Allows an application to set policy related to usb file transfers.

static String

Allows an application to set policy related to users.

static String

Allows an application to set policy related to VPNs.

static String

Allows an application to set policy related to the wallpaper.

static String

Allows an application to set policy related to Wifi.

static String

Allows an application to set policy related to windows.

static String

Allows an application to manage policy related to wiping data.

static String

Allows an application to manage access to documents, usually as part of a document picker.

static String

Allows an application a broad access to external storage in scoped storage.

static String

Allows an application to modify and delete media files on this device or any connected storage device without user confirmation.

static String

Allows to query ongoing call details and manage ongoing calls

static String

Allows a calling application which manages its own calls through the self-managed android.telecom.ConnectionService APIs.

static String

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.

static String

This permission is used to let OEMs grant their trusted app access to a subset of privileged wifi APIs to improve wifi performance.

static String

Not for use by third-party applications.

static String

Allows an application to know what content is playing and control its playback.

static String

Allows an application to control the routing of media apps.

static String

Allows an application to modify global audio settings.

static String

Allows modification of the telephony state - power on, mmi, etc.

static String

Allows formatting file systems for removable storage.

static String

Allows mounting and unmounting file systems for removable storage.

static String

Required to be able to advertise and connect to nearby devices via Wi-Fi.

static String

Allows applications to perform I/O operations over NFC.

static String

Allows applications to receive NFC preferred payment service information.

static String

Allows applications to receive NFC transaction events.

static String

Allows an application to override the owner of a MediaSession.

static String

Allows an application to modify any wifi configuration, even if created by another application.

static String

Allows an application to collect component usage statistics

static String

static String

Allows an app to post notifications

static String

Required for apps to post promoted notifications.

static String

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.

static String

Allows an application to display its suggestions using the autofill framework.

static String

Allows an application to be able to store and retrieve credentials from a remote device.

static String

Allows an application to query the device's advanced protection mode status.

static String

Allows query of any normal app on the device, regardless of manifest declarations.

static String

Required to be able to range to devices using generic ranging module.

static String

Allows an application to query over global data in AppSearch that's visible to the ASSISTANT role.

static String

Allows read only access to phone state with a non dangerous permission, including the information like cellular network type, software version.

static String

Allows an application to read the user's calendar data.

static String

Allows an application to read the user's call log.

static String

Allows an application to read the aggregated color zones on the screen for use cases like TV ambient backlight usages.

static String

Allows an application to read the user's contacts data.

static String

Allows an application to access the data in Dropbox.

static String

Allows an application to read from external storage.

static String

Allows an application to query over global data in AppSearch that's visible to the HOME role.

static String

Allows an application to retrieve the current state of keys and switches.

static String

Allows an application to read the low-level system log files.

static String

Allows an application to read audio files from external storage.

static String

Allows an application to read image files from external storage.

static String

Allows an application to read video files from external storage.

static String

Allows an application to read image or video files from external storage that a user has selected via the permission prompt photo picker.

static String

Allows an application to read nearby streaming policy.

static String

Allows read access to the device's phone number(s), which is exposed to instant applications.

static String

Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any android.telecom.PhoneAccounts registered on the device.

static String

Allows read only access to precise phone state.

static String

Allows an application to read SMS messages.

static String

Allows applications to read the sync settings.

static String

Allows applications to read the sync stats.

static String

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.

static String

Allows an application to read voicemails in the system.

static String

Required to be able to reboot the device.

static String

Allows an application to receive the android.content.Intent#ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.

static String

Allows an application to monitor incoming MMS messages.

static String

Allows apps with a NotificationListenerService to receive notifications with sensitive information

static String

Allows an application to receive SMS messages.

static String

Allows an application to receive WAP push messages.

static String

Allows an application to record audio.

static String

Allows an application to change the Z-order of tasks.

static String

Allows an application to programmatically move and resize its tasks when the system is in a state that allows such operations, e.

static String

Allows application to request to be associated with a virtual device capable of streaming Android applications (android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING) by android.companion.CompanionDeviceManager.

static String

Allows application to request to be associated with a vehicle head unit capable of automotive projection (android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION) by android.companion.CompanionDeviceManager.

static String

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 (android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER) by android.companion.CompanionDeviceManager.

static String

Allows app to request to be associated with a device via android.companion.CompanionDeviceManager as "glasses"

static String

Allows application to request to associate with a android.companion.AssociationRequest#DEVICE_PROFILE_MEDICAL device via android.companion.CompanionDeviceManager.

static String

Allows application to request to stream content from an Android host to a nearby device (android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING) by android.companion.CompanionDeviceManager.

static String

Allows app to request to be associated with a device via android.companion.CompanionDeviceManager as a "watch"

static String

Allows a companion app to run in the background.

static String

Allows an application to create a "self-managed" association.

static String

Allows a companion app to start a foreground service from the background.

static String

Allows a companion app to use data in the background.

static String

Allows an application to request deleting packages.

static String

Permission an application must hold in order to use android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.

static String

Allows an application to request installing packages.

static String

Allows an application to subscribe to notifications about the presence status change of their associated companion device

static String

Allows an application to subscribe to notifications about the nearby devices' presence status change base on the UUIDs.

static String

Allows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.

static String

static String

Allows applications to use the user-initiated jobs API.

static String

Allows applications to use exact alarm APIs.

static String

Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.

static String

Allows an application to send SMS messages.

static String

Allows an application to broadcast an Intent to set an alarm for the user.

static String

Allows an application to control whether activities are immediately finished when put in the background.

static String

Modify the global animation scaling factor.

static String

Allows an application to set the advanced features on BiometricDialog (SystemUI), including logo, logo description, and content view with more options button.

static String

Configure an application for debugging.

static String

static String

Allows an application to set the maximum number of (not needed) application processes that can be running.

static String

Allows applications to set the system time directly.

static String

Allows applications to set the system time zone directly.

static String

Allows applications to set the wallpaper.

static String

Allows applications to set the wallpaper hints.

static String

Permission needed to request to show the Power Menu.

static String

Permission needed to request to show the Power Menu.

static String

Allow an application to request that a signal be sent to all persistent processes.

static String

Allows financial apps to read filtered sms messages.

static String

Allows an application to start foreground services from the background at any time.

static String

Allows the holder to start the screen with a list of app features.

static String

Allows the holder to start the permission usage screen for an app.

static String

Allows an application to open, close, or disable the status bar and its icons.

static String

Allows an application to subscribe to device locked and keyguard locked (i.e., showing) state.

static String

Allows an app to create windows using the type android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY, shown on top of all other apps.

static String

Allows using the device's IR transmitter, if available.

static String

Allows an app to turn on the screen on, e.

static String

Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting it.

static String

Don't use this permission in your app.
This permission is no longer supported.

static String

Allows an application to update device statistics.

static String

Allows an application to indicate via android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int) that user action should not be required for an app update.

static String

Allows an app to use device supported biometric modalities.

static String

Allows apps to use exact alarms just like with SCHEDULE_EXACT_ALARM but without needing to request this permission from the user.

static String

Allows an app to use fingerprint hardware.

static String

Required for apps targeting android.os.Build.VERSION_CODES#Q that want to use notification full screen.

static String

Allows to read device identifiers and use ICC based authentication like EAP-AKA.

static String

Required to be able to interact with other applications via IP packets on the loopback interface.

static String

Allows an application to use SIP service.

static String

Required to be able to range to devices using ultra-wideband.

static String

Allows access to the vibrator.

static String

Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.

static String

Allows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.

static String

Allows an application to write the user's calendar data.

static String

Allows an application to write and read the user's call log data.

static String

Allows an application to write the user's contacts data.

static String

Allows an application to write to external storage.

static String

Allows an application to modify the Google service map.

static String

Allows an application to read or write the secure system settings.

static String

Allows an application to read or write the system settings.

static String

Allows applications to write the sync settings.

static String

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.

static String

Allows an application to modify and remove existing voicemails in the system.

Public constructors

Constants

ACCEPT_HANDOVER

Added in API level 28
static val ACCEPT_HANDOVER: String

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 android.telecom.TelecomManager#acceptHandover(Uri,int,PhoneAccountHandle) which the receiving side of the handover uses to accept a handover.

Protection level: dangerous

Value: "android.permission.ACCEPT_HANDOVER"

ACCESS_BACKGROUND_LOCATION

Added in API level 29
static val ACCESS_BACKGROUND_LOCATION: String

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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

Value: "android.permission.ACCESS_BACKGROUND_LOCATION"

ACCESS_BIOMETRIC_SENSOR_STRENGTHS

Added in API level 1
static val ACCESS_BIOMETRIC_SENSOR_STRENGTHS: String

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).

Value: "android.permission.ACCESS_BIOMETRIC_SENSOR_STRENGTHS"

ACCESS_BLOBS_ACROSS_USERS

Added in API level 31
static val ACCESS_BLOBS_ACROSS_USERS: String

Allows an application to access data blobs across users.

Value: "android.permission.ACCESS_BLOBS_ACROSS_USERS"

ACCESS_CHECKIN_PROPERTIES

Added in API level 1
static val ACCESS_CHECKIN_PROPERTIES: String

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.

Value: "android.permission.ACCESS_CHECKIN_PROPERTIES"

ACCESS_COARSE_LOCATION

Added in API level 1
static val ACCESS_COARSE_LOCATION: String

Allows an app to access approximate location. Alternatively, you might want ACCESS_FINE_LOCATION.

Protection level: dangerous

Value: "android.permission.ACCESS_COARSE_LOCATION"

ACCESS_FINE_LOCATION

Added in API level 1
static val ACCESS_FINE_LOCATION: String

Allows an app to access precise location. Alternatively, you might want ACCESS_COARSE_LOCATION.

Protection level: dangerous

Value: "android.permission.ACCESS_FINE_LOCATION"

ACCESS_HIDDEN_PROFILES

Added in API level 35
static val ACCESS_HIDDEN_PROFILES: String

Allows applications to access profiles with android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN user property, e.g. android.os.UserManager#USER_TYPE_PROFILE_PRIVATE.

Protection level: normal

Value: "android.permission.ACCESS_HIDDEN_PROFILES"

ACCESS_LAUNCHER_DATA

static val ACCESS_LAUNCHER_DATA: String

This permission protects a content provider within home/launcher applications, enabling management of home screen metadata such as shortcut placement, launch intents, and labels.

Value: "android.permission.ACCESS_LAUNCHER_DATA"

ACCESS_LOCAL_NETWORK

Added in API level 1
static val ACCESS_LOCAL_NETWORK: String

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.

Value: "android.permission.ACCESS_LOCAL_NETWORK"

See Also

    ACCESS_LOCATION_EXTRA_COMMANDS

    Added in API level 1
    static val ACCESS_LOCATION_EXTRA_COMMANDS: String

    Allows an application to access extra location provider commands.

    Protection level: normal

    Value: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"

    ACCESS_MEDIA_LOCATION

    Added in API level 29
    static val ACCESS_MEDIA_LOCATION: String

    Allows an application to access any geographic locations persisted in the user's shared collection.

    Protection level: dangerous

    Value: "android.permission.ACCESS_MEDIA_LOCATION"

    ACCESS_NETWORK_STATE

    Added in API level 1
    static val ACCESS_NETWORK_STATE: String

    Allows applications to access information about networks.

    Protection level: normal

    Value: "android.permission.ACCESS_NETWORK_STATE"

    ACCESS_NOTIFICATION_POLICY

    Added in API level 23
    static val ACCESS_NOTIFICATION_POLICY: String

    Marker permission for applications that wish to access notification policy. This permission is not supported on managed profiles.

    Protection level: normal

    Value: "android.permission.ACCESS_NOTIFICATION_POLICY"

    ACCESS_WIFI_STATE

    Added in API level 1
    static val ACCESS_WIFI_STATE: String

    Allows applications to access information about Wi-Fi networks.

    Protection level: normal

    Value: "android.permission.ACCESS_WIFI_STATE"

    ACCOUNT_MANAGER

    Added in API level 5
    static val ACCOUNT_MANAGER: String

    Allows applications to call into AccountAuthenticators.

    Not for use by third-party applications.

    Value: "android.permission.ACCOUNT_MANAGER"

    ACTIVITY_RECOGNITION

    Added in API level 29
    static val ACTIVITY_RECOGNITION: String

    Allows an application to recognize physical activity.

    Protection level: dangerous

    Value: "android.permission.ACTIVITY_RECOGNITION"

    ADD_VOICEMAIL

    Added in API level 14
    static val ADD_VOICEMAIL: String

    Allows an application to add voicemails into the system.

    Protection level: dangerous

    Value: "com.android.voicemail.permission.ADD_VOICEMAIL"

    ANSWER_PHONE_CALLS

    Added in API level 26
    static val ANSWER_PHONE_CALLS: String

    Allows the app to answer an incoming phone call.

    Protection level: dangerous

    Value: "android.permission.ANSWER_PHONE_CALLS"

    APPLY_PICTURE_PROFILE

    Added in API level 36
    static val APPLY_PICTURE_PROFILE: String

    Allows an app to apply a MediaQualityManager.PictureProfile to a layer via MediaCodec.PARAMETER_KEY_PICTURE_PROFILE and, additionally, system apps via SurfaceControl.Transaction#setPictureProfileHandle.

    Value: "android.permission.APPLY_PICTURE_PROFILE"

    BATTERY_STATS

    Added in API level 1
    static val BATTERY_STATS: String

    Allows an application to collect battery statistics

    Protection level: signature|privileged|development

    Value: "android.permission.BATTERY_STATS"

    BIND_ACCESSIBILITY_SERVICE

    Added in API level 16
    static val BIND_ACCESSIBILITY_SERVICE: String

    Must be required by an android.accessibilityservice.AccessibilityService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_ACCESSIBILITY_SERVICE"

    BIND_APPWIDGET

    Added in API level 3
    static val BIND_APPWIDGET: String

    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.

    Value: "android.permission.BIND_APPWIDGET"

    BIND_APP_FUNCTION_SERVICE

    Added in API level 36
    static val BIND_APP_FUNCTION_SERVICE: String

    Must be required by an android.app.appfunctions.AppFunctionService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_APP_FUNCTION_SERVICE"

    BIND_AUTOFILL_SERVICE

    Added in API level 26
    static val BIND_AUTOFILL_SERVICE: String

    Must be required by a android.service.autofill.AutofillService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_AUTOFILL_SERVICE"

    BIND_CALL_REDIRECTION_SERVICE

    Added in API level 29
    static val BIND_CALL_REDIRECTION_SERVICE: String

    Must be required by a android.telecom.CallRedirectionService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_CALL_REDIRECTION_SERVICE"

    BIND_CARRIER_MESSAGING_CLIENT_SERVICE

    Added in API level 29
    static val BIND_CARRIER_MESSAGING_CLIENT_SERVICE: String

    A subclass of android.service.carrier.CarrierMessagingClientService must be protected with this permission.

    Protection level: signature

    Value: "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"

    BIND_CARRIER_MESSAGING_SERVICE

    Added in API level 22
    Deprecated in API level 23
    static val BIND_CARRIER_MESSAGING_SERVICE: String

    Deprecated: Use BIND_CARRIER_SERVICES instead

    Value: "android.permission.BIND_CARRIER_MESSAGING_SERVICE"

    BIND_CARRIER_SERVICES

    Added in API level 23
    static val BIND_CARRIER_SERVICES: String

    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

    Value: "android.permission.BIND_CARRIER_SERVICES"

    BIND_CHOOSER_TARGET_SERVICE

    Added in API level 23
    Deprecated in API level 30
    static val BIND_CHOOSER_TARGET_SERVICE: String

    Deprecated: 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 android.service.chooser.ChooserTargetService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_CHOOSER_TARGET_SERVICE"

    BIND_COMPANION_DEVICE_SERVICE

    Added in API level 31
    static val BIND_COMPANION_DEVICE_SERVICE: String

    Must be required by any android.companion.CompanionDeviceServices to ensure that only the system can bind to it.

    Value: "android.permission.BIND_COMPANION_DEVICE_SERVICE"

    BIND_CONDITION_PROVIDER_SERVICE

    Added in API level 24
    static val BIND_CONDITION_PROVIDER_SERVICE: String

    Must be required by a android.service.notification.ConditionProviderService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_CONDITION_PROVIDER_SERVICE"

    BIND_CONTROLS

    Added in API level 30
    static val BIND_CONTROLS: String

    Allows SystemUI to request third party controls.

    Should only be requested by the System and required by android.service.controls.ControlsProviderService declarations.

    Value: "android.permission.BIND_CONTROLS"

    BIND_CREDENTIAL_PROVIDER_SERVICE

    Added in API level 34
    static val BIND_CREDENTIAL_PROVIDER_SERVICE: String

    Must be required by a CredentialProviderService to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"

    BIND_DEVICE_ADMIN

    Added in API level 8
    static val BIND_DEVICE_ADMIN: String

    Must be required by device administration receiver, to ensure that only the system can interact with it.

    Protection level: signature

    Value: "android.permission.BIND_DEVICE_ADMIN"

    BIND_DREAM_SERVICE

    Added in API level 21
    static val BIND_DREAM_SERVICE: String

    Must be required by an android.service.dreams.DreamService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_DREAM_SERVICE"

    BIND_INCALL_SERVICE

    Added in API level 23
    static val BIND_INCALL_SERVICE: String

    Must be required by a android.telecom.InCallService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_INCALL_SERVICE"

    BIND_INPUT_METHOD

    Added in API level 3
    static val BIND_INPUT_METHOD: String

    Must be required by an android.inputmethodservice.InputMethodService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_INPUT_METHOD"

    BIND_MIDI_DEVICE_SERVICE

    Added in API level 23
    static val BIND_MIDI_DEVICE_SERVICE: String

    Must be required by an android.media.midi.MidiDeviceService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_MIDI_DEVICE_SERVICE"

    BIND_NFC_SERVICE

    Added in API level 19
    static val BIND_NFC_SERVICE: String

    Must be required by a android.nfc.cardemulation.HostApduService or android.nfc.cardemulation.OffHostApduService to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_NFC_SERVICE"

    BIND_NOTIFICATION_LISTENER_SERVICE

    Added in API level 18
    static val BIND_NOTIFICATION_LISTENER_SERVICE: String

    Must be required by an android.service.notification.NotificationListenerService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"

    BIND_PRINT_SERVICE

    Added in API level 19
    static val BIND_PRINT_SERVICE: String

    Must be required by a android.printservice.PrintService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_PRINT_SERVICE"

    BIND_QUICK_ACCESS_WALLET_SERVICE

    Added in API level 30
    static val BIND_QUICK_ACCESS_WALLET_SERVICE: String

    Must be required by a android.service.quickaccesswallet.QuickAccessWalletService to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"

    BIND_QUICK_SETTINGS_TILE

    Added in API level 24
    static val BIND_QUICK_SETTINGS_TILE: String

    Allows an application to bind to third party quick settings tiles.

    Should only be requested by the System, should be required by TileService declarations.

    Value: "android.permission.BIND_QUICK_SETTINGS_TILE"

    BIND_REMOTEVIEWS

    Added in API level 11
    static val BIND_REMOTEVIEWS: String

    Must be required by a android.widget.RemoteViewsService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_REMOTEVIEWS"

    BIND_SCREENING_SERVICE

    Added in API level 24
    static val BIND_SCREENING_SERVICE: String

    Must be required by a android.telecom.CallScreeningService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_SCREENING_SERVICE"

    BIND_TELECOM_CONNECTION_SERVICE

    Added in API level 23
    static val BIND_TELECOM_CONNECTION_SERVICE: String

    Must be required by a android.telecom.ConnectionService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_TELECOM_CONNECTION_SERVICE"

    BIND_TEXT_SERVICE

    Added in API level 14
    static val BIND_TEXT_SERVICE: String

    Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_TEXT_SERVICE"

    BIND_TV_AD_SERVICE

    Added in API level 36
    static val BIND_TV_AD_SERVICE: String

    Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_TV_AD_SERVICE"

    BIND_TV_INPUT

    Added in API level 21
    static val BIND_TV_INPUT: String

    Must be required by a android.media.tv.TvInputService to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_TV_INPUT"

    BIND_TV_INTERACTIVE_APP

    Added in API level 33
    static val BIND_TV_INTERACTIVE_APP: String

    Must be required by a android.media.tv.interactive.TvInteractiveAppService to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_TV_INTERACTIVE_APP"

    BIND_VISUAL_VOICEMAIL_SERVICE

    Added in API level 26
    static val BIND_VISUAL_VOICEMAIL_SERVICE: String

    Must be required by a link android.telephony.VisualVoicemailService to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"

    BIND_VOICE_INTERACTION

    Added in API level 21
    static val BIND_VOICE_INTERACTION: String

    Must be required by a android.service.voice.VoiceInteractionService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_VOICE_INTERACTION"

    BIND_VPN_SERVICE

    Added in API level 14
    static val BIND_VPN_SERVICE: String

    Must be required by a android.net.VpnService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_VPN_SERVICE"

    BIND_VR_LISTENER_SERVICE

    Added in API level 24
    static val BIND_VR_LISTENER_SERVICE: String

    Must be required by an android.service.vr.VrListenerService, to ensure that only the system can bind to it.

    Protection level: signature

    Value: "android.permission.BIND_VR_LISTENER_SERVICE"

    BIND_WALLPAPER

    Added in API level 8
    static val BIND_WALLPAPER: String

    Must be required by a android.service.wallpaper.WallpaperService, to ensure that only the system can bind to it.

    Protection level: signature|privileged

    Value: "android.permission.BIND_WALLPAPER"

    BLUETOOTH

    Added in API level 1
    static val BLUETOOTH: String

    Allows applications to connect to paired bluetooth devices.

    Protection level: normal

    Value: "android.permission.BLUETOOTH"

    BLUETOOTH_ADMIN

    Added in API level 1
    static val BLUETOOTH_ADMIN: String

    Allows applications to discover and pair bluetooth devices.

    Protection level: normal

    Value: "android.permission.BLUETOOTH_ADMIN"

    BLUETOOTH_ADVERTISE

    Added in API level 31
    static val BLUETOOTH_ADVERTISE: String

    Required to be able to advertise to nearby Bluetooth devices.

    Protection level: dangerous

    Value: "android.permission.BLUETOOTH_ADVERTISE"

    BLUETOOTH_CONNECT

    Added in API level 31
    static val BLUETOOTH_CONNECT: String

    Required to be able to connect to paired Bluetooth devices.

    Protection level: dangerous

    Value: "android.permission.BLUETOOTH_CONNECT"

    BLUETOOTH_PRIVILEGED

    Added in API level 19
    static val BLUETOOTH_PRIVILEGED: String

    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.

    Value: "android.permission.BLUETOOTH_PRIVILEGED"

    BLUETOOTH_SCAN

    Added in API level 31
    static val BLUETOOTH_SCAN: String

    Required to be able to discover and pair nearby Bluetooth devices.

    Protection level: dangerous

    Value: "android.permission.BLUETOOTH_SCAN"

    BODY_SENSORS

    Added in API level 20
    static val BODY_SENSORS: String

    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

    Value: "android.permission.BODY_SENSORS"

    BODY_SENSORS_BACKGROUND

    Added in API level 33
    static val BODY_SENSORS_BACKGROUND: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.BODY_SENSORS_BACKGROUND"

    BROADCAST_PACKAGE_REMOVED

    Added in API level 1
    static val BROADCAST_PACKAGE_REMOVED: String

    Allows an application to broadcast a notification that an application package has been removed.

    Not for use by third-party applications.

    Value: "android.permission.BROADCAST_PACKAGE_REMOVED"

    BROADCAST_SMS

    Added in API level 2
    static val BROADCAST_SMS: String

    Allows an application to broadcast an SMS receipt notification.

    Not for use by third-party applications.

    Value: "android.permission.BROADCAST_SMS"

    BROADCAST_STICKY

    Added in API level 1
    static val BROADCAST_STICKY: String

    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

    Value: "android.permission.BROADCAST_STICKY"

    BROADCAST_WAP_PUSH

    Added in API level 2
    static val BROADCAST_WAP_PUSH: String

    Allows an application to broadcast a WAP PUSH receipt notification.

    Not for use by third-party applications.

    Value: "android.permission.BROADCAST_WAP_PUSH"

    CALL_COMPANION_APP

    Added in API level 29
    static val CALL_COMPANION_APP: String

    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

    Value: "android.permission.CALL_COMPANION_APP"

    CALL_PHONE

    Added in API level 1
    static val CALL_PHONE: String

    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

    Value: "android.permission.CALL_PHONE"

    CALL_PRIVILEGED

    Added in API level 1
    static val CALL_PRIVILEGED: String

    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.

    Value: "android.permission.CALL_PRIVILEGED"

    CAMERA

    Added in API level 1
    static val CAMERA: String

    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

    Value: "android.permission.CAMERA"

    CAPTURE_AUDIO_OUTPUT

    Added in API level 19
    static val CAPTURE_AUDIO_OUTPUT: String

    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.

    Value: "android.permission.CAPTURE_AUDIO_OUTPUT"

    CAPTURE_KEYBOARD

    static val CAPTURE_KEYBOARD: String

    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

    Value: "android.permission.CAPTURE_KEYBOARD"

    CHANGE_COMPONENT_ENABLED_STATE

    Added in API level 1
    static val CHANGE_COMPONENT_ENABLED_STATE: String

    Allows an application to change whether an application component (other than its own) is enabled or not.

    Not for use by third-party applications.

    Value: "android.permission.CHANGE_COMPONENT_ENABLED_STATE"

    CHANGE_CONFIGURATION

    Added in API level 1
    static val CHANGE_CONFIGURATION: String

    Allows an application to modify the current configuration, such as locale.

    Protection level: signature|privileged|development

    Value: "android.permission.CHANGE_CONFIGURATION"

    CHANGE_NETWORK_STATE

    Added in API level 1
    static val CHANGE_NETWORK_STATE: String

    Allows applications to change network connectivity state.

    Protection level: normal

    Value: "android.permission.CHANGE_NETWORK_STATE"

    CHANGE_WIFI_MULTICAST_STATE

    Added in API level 4
    static val CHANGE_WIFI_MULTICAST_STATE: String

    Allows applications to enter Wi-Fi Multicast mode.

    Protection level: normal

    Value: "android.permission.CHANGE_WIFI_MULTICAST_STATE"

    CHANGE_WIFI_STATE

    Added in API level 1
    static val CHANGE_WIFI_STATE: String

    Allows applications to change Wi-Fi connectivity state.

    Protection level: normal

    Value: "android.permission.CHANGE_WIFI_STATE"

    CLEAR_APP_CACHE

    Added in API level 1
    static val CLEAR_APP_CACHE: String

    Allows an application to clear the caches of all installed applications on the device.

    Protection level: signature|privileged

    Value: "android.permission.CLEAR_APP_CACHE"

    CONFIGURE_WIFI_DISPLAY

    Added in API level 34
    static val CONFIGURE_WIFI_DISPLAY: String

    Allows an application to configure and connect to Wifi displays

    Value: "android.permission.CONFIGURE_WIFI_DISPLAY"

    CONTROL_LOCATION_UPDATES

    Added in API level 1
    static val CONTROL_LOCATION_UPDATES: String

    Allows enabling/disabling location update notifications from the radio.

    Not for use by third-party applications.

    Value: "android.permission.CONTROL_LOCATION_UPDATES"

    CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS

    Added in API level 34
    static val CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS: String

    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

    Value: "android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"

    CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS

    Added in API level 34
    static val CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS: String

    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

    Value: "android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"

    CREDENTIAL_MANAGER_SET_ORIGIN

    Added in API level 34
    static val CREDENTIAL_MANAGER_SET_ORIGIN: String

    Allows a browser to invoke credential manager APIs on behalf of another RP.

    Protection level: normal

    Value: "android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"

    DELETE_CACHE_FILES

    Added in API level 1
    static val DELETE_CACHE_FILES: String

    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

    Value: "android.permission.DELETE_CACHE_FILES"

    DELETE_PACKAGES

    Added in API level 1
    static val DELETE_PACKAGES: String

    Allows an application to delete packages.

    Not for use by third-party applications.

    Starting in android.os.Build.VERSION_CODES#N, user confirmation is requested when the application deleting the package is not the same application that installed the package.

    Value: "android.permission.DELETE_PACKAGES"

    DELIVER_COMPANION_MESSAGES

    Added in API level 33
    static val DELIVER_COMPANION_MESSAGES: String

    Allows an application to deliver companion messages to system

    Value: "android.permission.DELIVER_COMPANION_MESSAGES"

    DETECT_SCREEN_CAPTURE

    Added in API level 34
    static val DETECT_SCREEN_CAPTURE: String

    Allows an application to get notified when a screen capture of its windows is attempted.

    Protection level: normal

    Value: "android.permission.DETECT_SCREEN_CAPTURE"

    DETECT_SCREEN_RECORDING

    Added in API level 35
    static val DETECT_SCREEN_RECORDING: String

    Allows an application to get notified when it is being recorded.

    Protection level: normal

    Value: "android.permission.DETECT_SCREEN_RECORDING"

    DIAGNOSTIC

    Added in API level 1
    static val DIAGNOSTIC: String

    Allows applications to RW to diagnostic resources.

    Not for use by third-party applications.

    Value: "android.permission.DIAGNOSTIC"

    DISABLE_KEYGUARD

    Added in API level 1
    static val DISABLE_KEYGUARD: String

    Allows applications to disable the keyguard if it is not secure.

    Protection level: normal

    Value: "android.permission.DISABLE_KEYGUARD"

    DUMP

    Added in API level 1
    static val DUMP: String

    Allows an application to retrieve state dump information from system services.

    Not for use by third-party applications.

    Value: "android.permission.DUMP"

    ENFORCE_UPDATE_OWNERSHIP

    Added in API level 34
    static val ENFORCE_UPDATE_OWNERSHIP: String

    Allows an application to indicate via android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership that it has the intention of becoming the update owner.

    Protection level: normal

    Value: "android.permission.ENFORCE_UPDATE_OWNERSHIP"

    EXECUTE_APP_ACTION

    Added in API level 34
    static val EXECUTE_APP_ACTION: String

    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

    Value: "android.permission.EXECUTE_APP_ACTION"

    EXECUTE_APP_FUNCTIONS

    Added in API level 36
    static val EXECUTE_APP_FUNCTIONS: String

    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

    Value: "android.permission.EXECUTE_APP_FUNCTIONS"

    EXPAND_STATUS_BAR

    Added in API level 1
    static val EXPAND_STATUS_BAR: String

    Allows an application to expand or collapse the status bar.

    Protection level: normal

    Value: "android.permission.EXPAND_STATUS_BAR"

    FACTORY_TEST

    Added in API level 1
    static val FACTORY_TEST: String

    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.

    Value: "android.permission.FACTORY_TEST"

    FOREGROUND_SERVICE

    Added in API level 28
    static val FOREGROUND_SERVICE: String

    Allows a regular application to use android.app.Service#startForeground.

    Protection level: normal

    Value: "android.permission.FOREGROUND_SERVICE"

    FOREGROUND_SERVICE_CAMERA

    Added in API level 34
    static val FOREGROUND_SERVICE_CAMERA: String

    Allows a regular application to use android.app.Service#startForeground with the type "camera".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_CAMERA"

    FOREGROUND_SERVICE_CONNECTED_DEVICE

    Added in API level 34
    static val FOREGROUND_SERVICE_CONNECTED_DEVICE: String

    Allows a regular application to use android.app.Service#startForeground with the type "connectedDevice".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"

    FOREGROUND_SERVICE_DATA_SYNC

    Added in API level 34
    static val FOREGROUND_SERVICE_DATA_SYNC: String

    Allows a regular application to use android.app.Service#startForeground with the type "dataSync".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_DATA_SYNC"

    FOREGROUND_SERVICE_HEALTH

    Added in API level 34
    static val FOREGROUND_SERVICE_HEALTH: String

    Allows a regular application to use android.app.Service#startForeground with the type "health".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_HEALTH"

    FOREGROUND_SERVICE_LOCATION

    Added in API level 34
    static val FOREGROUND_SERVICE_LOCATION: String

    Allows a regular application to use android.app.Service#startForeground with the type "location".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_LOCATION"

    FOREGROUND_SERVICE_MEDIA_PLAYBACK

    Added in API level 34
    static val FOREGROUND_SERVICE_MEDIA_PLAYBACK: String

    Allows a regular application to use android.app.Service#startForeground with the type "mediaPlayback".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"

    FOREGROUND_SERVICE_MEDIA_PROCESSING

    Added in API level 35
    static val FOREGROUND_SERVICE_MEDIA_PROCESSING: String

    Allows a regular application to use android.app.Service#startForeground with the type "mediaProcessing".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"

    FOREGROUND_SERVICE_MEDIA_PROJECTION

    Added in API level 34
    static val FOREGROUND_SERVICE_MEDIA_PROJECTION: String

    Allows a regular application to use android.app.Service#startForeground with the type "mediaProjection".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"

    FOREGROUND_SERVICE_MICROPHONE

    Added in API level 34
    static val FOREGROUND_SERVICE_MICROPHONE: String

    Allows a regular application to use android.app.Service#startForeground with the type "microphone".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_MICROPHONE"

    FOREGROUND_SERVICE_PHONE_CALL

    Added in API level 34
    static val FOREGROUND_SERVICE_PHONE_CALL: String

    Allows a regular application to use android.app.Service#startForeground with the type "phoneCall".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_PHONE_CALL"

    FOREGROUND_SERVICE_REMOTE_MESSAGING

    Added in API level 34
    static val FOREGROUND_SERVICE_REMOTE_MESSAGING: String

    Allows a regular application to use android.app.Service#startForeground with the type "remoteMessaging".

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"

    FOREGROUND_SERVICE_SPECIAL_USE

    Added in API level 34
    static val FOREGROUND_SERVICE_SPECIAL_USE: String

    Allows a regular application to use android.app.Service#startForeground with the type "specialUse".

    Protection level: normal|appop|instant

    Value: "android.permission.FOREGROUND_SERVICE_SPECIAL_USE"

    FOREGROUND_SERVICE_SYSTEM_EXEMPTED

    Added in API level 34
    static val FOREGROUND_SERVICE_SYSTEM_EXEMPTED: String

    Allows a regular application to use android.app.Service#startForeground with the type "systemExempted". Apps are allowed to use this type only in the use cases listed in android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED.

    Protection level: normal|instant

    Value: "android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"

    GET_ACCOUNTS

    Added in API level 1
    static val GET_ACCOUNTS: String

    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

    Value: "android.permission.GET_ACCOUNTS"

    GET_ACCOUNTS_PRIVILEGED

    Added in API level 23
    static val GET_ACCOUNTS_PRIVILEGED: String

    Allows access to the list of accounts in the Accounts Service.

    Protection level: signature|privileged

    Value: "android.permission.GET_ACCOUNTS_PRIVILEGED"

    GET_PACKAGE_SIZE

    Added in API level 1
    static val GET_PACKAGE_SIZE: String

    Allows an application to find out the space used by any package.

    Protection level: normal

    Value: "android.permission.GET_PACKAGE_SIZE"

    GET_TASKS

    Added in API level 1
    Deprecated in API level 21
    static val GET_TASKS: String

    Deprecated: No longer enforced.

    Value: "android.permission.GET_TASKS"
    Added in API level 4
    static val GLOBAL_SEARCH: String

    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

    Value: "android.permission.GLOBAL_SEARCH"

    HIDE_OVERLAY_WINDOWS

    Added in API level 31
    static val HIDE_OVERLAY_WINDOWS: String

    Allows an app to prevent non-system-overlay windows from being drawn on top of it

    Value: "android.permission.HIDE_OVERLAY_WINDOWS"

    HIGH_SAMPLING_RATE_SENSORS

    Added in API level 31
    static val HIGH_SAMPLING_RATE_SENSORS: String

    Allows an app to access sensor data with a sampling rate greater than 200 Hz.

    Protection level: normal

    Value: "android.permission.HIGH_SAMPLING_RATE_SENSORS"

    INSTALL_LOCATION_PROVIDER

    Added in API level 4
    static val INSTALL_LOCATION_PROVIDER: String

    Allows an application to install a location provider into the Location Manager.

    Not for use by third-party applications.

    Value: "android.permission.INSTALL_LOCATION_PROVIDER"

    INSTALL_PACKAGES

    Added in API level 1
    static val INSTALL_PACKAGES: String

    Allows an application to install packages.

    Not for use by third-party applications.

    Value: "android.permission.INSTALL_PACKAGES"

    INSTALL_SHORTCUT

    Added in API level 19
    static val INSTALL_SHORTCUT: String

    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 android.content.pm.ShortcutManager class.

    Protection level: normal

    Value: "com.android.launcher.permission.INSTALL_SHORTCUT"

    INSTANT_APP_FOREGROUND_SERVICE

    Added in API level 26
    static val INSTANT_APP_FOREGROUND_SERVICE: String

    Allows an instant app to create foreground services.

    Protection level: signature|development|instant|appop

    Value: "android.permission.INSTANT_APP_FOREGROUND_SERVICE"

    INTERACT_ACROSS_PROFILES

    Added in API level 30
    static val INTERACT_ACROSS_PROFILES: String

    Allows interaction across profiles in the same profile group.

    Value: "android.permission.INTERACT_ACROSS_PROFILES"

    INTERNET

    Added in API level 1
    static val INTERNET: String

    Allows applications to open network sockets.

    Protection level: normal

    Value: "android.permission.INTERNET"

    KILL_BACKGROUND_PROCESSES

    Added in API level 8
    static val KILL_BACKGROUND_PROCESSES: String

    Allows an application to call android.app.ActivityManager#killBackgroundProcesses.

    As of Android version android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, the android.app.ActivityManager#killBackgroundProcesses 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

    Value: "android.permission.KILL_BACKGROUND_PROCESSES"

    LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE

    Added in API level 34
    static val LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE: String

    Allows an application to capture screen content to perform a screenshot using the intent action android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE.

    Protection level: internal|role

    Intended for use by ROLE_NOTES only.

    Value: "android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
    Added in API level 32
    static val LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK: String

    An application needs this permission for android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY to show its android.app.Activity embedded in Settings app.

    Value: "android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"

    LOADER_USAGE_STATS

    Added in API level 30
    static val LOADER_USAGE_STATS: String

    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.

    Value: "android.permission.LOADER_USAGE_STATS"

    LOCATION_HARDWARE

    Added in API level 18
    static val LOCATION_HARDWARE: String

    Allows an application to use location features in hardware, such as the geofencing api.

    Not for use by third-party applications.

    Value: "android.permission.LOCATION_HARDWARE"

    MANAGE_DEVICE_LOCK_STATE

    Added in API level 34
    static val MANAGE_DEVICE_LOCK_STATE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_LOCK_STATE"

    MANAGE_DEVICE_POLICY_ACCESSIBILITY

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ACCESSIBILITY: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"

    MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"

    MANAGE_DEVICE_POLICY_ACROSS_USERS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ACROSS_USERS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"

    MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"

    MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"

    MANAGE_DEVICE_POLICY_AIRPLANE_MODE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_AIRPLANE_MODE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"

    MANAGE_DEVICE_POLICY_APPS_CONTROL

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_APPS_CONTROL: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"

    MANAGE_DEVICE_POLICY_APP_FUNCTIONS

    Added in API level 36
    static val MANAGE_DEVICE_POLICY_APP_FUNCTIONS: String

    Allows an application to manage policy related to AppFunctions.

    Protection level: internal|role

    Value: "android.permission.MANAGE_DEVICE_POLICY_APP_FUNCTIONS"

    MANAGE_DEVICE_POLICY_APP_RESTRICTIONS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_APP_RESTRICTIONS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"

    MANAGE_DEVICE_POLICY_APP_USER_DATA

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_APP_USER_DATA: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"

    MANAGE_DEVICE_POLICY_ASSIST_CONTENT

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_ASSIST_CONTENT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"

    MANAGE_DEVICE_POLICY_AUDIO_OUTPUT

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_AUDIO_OUTPUT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"

    MANAGE_DEVICE_POLICY_AUTOFILL

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_AUTOFILL: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"

    MANAGE_DEVICE_POLICY_BACKUP_SERVICE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_BACKUP_SERVICE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"

    MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"

    MANAGE_DEVICE_POLICY_BLUETOOTH

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_BLUETOOTH: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"

    MANAGE_DEVICE_POLICY_BUGREPORT

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_BUGREPORT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"

    MANAGE_DEVICE_POLICY_CALLS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_CALLS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_CALLS"

    MANAGE_DEVICE_POLICY_CAMERA

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_CAMERA: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_CAMERA"

    MANAGE_DEVICE_POLICY_CAMERA_TOGGLE

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_CAMERA_TOGGLE: String

    Allows an application to manage policy related to camera toggle.

    Protection level: internal|role

    Intended for use by the DEVICE_POLICY_MANAGEMENT role only.

    Value: "android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"

    MANAGE_DEVICE_POLICY_CERTIFICATES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_CERTIFICATES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"

    MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"

    MANAGE_DEVICE_POLICY_CONTENT_PROTECTION

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_CONTENT_PROTECTION: String

    Allows an application to manage policy related to content protection.

    Protection level: internal|role

    Value: "android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"

    MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"

    MANAGE_DEVICE_POLICY_DEFAULT_SMS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_DEFAULT_SMS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"

    MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS: String

    Allows an application to manage policy related to device identifiers.

    Protection level: internal|role

    Intended for use by the DEVICE_POLICY_MANAGEMENT role only.

    Value: "android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"

    MANAGE_DEVICE_POLICY_DISPLAY

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_DISPLAY: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_DISPLAY"

    MANAGE_DEVICE_POLICY_FACTORY_RESET

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_FACTORY_RESET: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"

    MANAGE_DEVICE_POLICY_FUN

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_FUN: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_FUN"

    MANAGE_DEVICE_POLICY_INPUT_METHODS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_INPUT_METHODS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"

    MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"

    MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"

    MANAGE_DEVICE_POLICY_KEYGUARD

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_KEYGUARD: String

    Allows an application to manage policy related to keyguard.

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"

    MANAGE_DEVICE_POLICY_LOCALE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_LOCALE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_LOCALE"

    MANAGE_DEVICE_POLICY_LOCATION

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_LOCATION: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_LOCATION"

    MANAGE_DEVICE_POLICY_LOCK

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_LOCK: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK"

    MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"

    MANAGE_DEVICE_POLICY_LOCK_TASK

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_LOCK_TASK: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"

    MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"

    MANAGE_DEVICE_POLICY_METERED_DATA

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_METERED_DATA: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"

    MANAGE_DEVICE_POLICY_MICROPHONE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_MICROPHONE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"

    MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE

    Added in API level 35
    static val MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE: String

    Allows an application to manage policy related to microphone toggle.

    Protection level: internal|role

    Intended for use by the DEVICE_POLICY_MANAGEMENT role only.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"

    MANAGE_DEVICE_POLICY_MOBILE_NETWORK

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_MOBILE_NETWORK: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"

    MANAGE_DEVICE_POLICY_MODIFY_USERS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_MODIFY_USERS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"

    MANAGE_DEVICE_POLICY_MTE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_MTE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_MTE"

    MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"

    MANAGE_DEVICE_POLICY_NETWORK_LOGGING

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_NETWORK_LOGGING: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"

    MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"

    MANAGE_DEVICE_POLICY_OVERRIDE_APN

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_OVERRIDE_APN: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"

    MANAGE_DEVICE_POLICY_PACKAGE_STATE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PACKAGE_STATE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"

    MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"

    MANAGE_DEVICE_POLICY_PRINTING

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PRINTING: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PRINTING"

    MANAGE_DEVICE_POLICY_PRIVATE_DNS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PRIVATE_DNS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"

    MANAGE_DEVICE_POLICY_PROFILES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PROFILES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PROFILES"

    MANAGE_DEVICE_POLICY_PROFILE_INTERACTION

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PROFILE_INTERACTION: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"

    MANAGE_DEVICE_POLICY_PROXY

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_PROXY: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_PROXY"

    MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"

    MANAGE_DEVICE_POLICY_RESET_PASSWORD

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_RESET_PASSWORD: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"

    MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"

    MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"

    MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"

    MANAGE_DEVICE_POLICY_SAFE_BOOT

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SAFE_BOOT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"

    MANAGE_DEVICE_POLICY_SCREEN_CAPTURE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SCREEN_CAPTURE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"

    MANAGE_DEVICE_POLICY_SCREEN_CONTENT

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SCREEN_CONTENT: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"

    MANAGE_DEVICE_POLICY_SECURITY_LOGGING

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SECURITY_LOGGING: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"

    MANAGE_DEVICE_POLICY_SETTINGS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SETTINGS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SETTINGS"

    MANAGE_DEVICE_POLICY_SMS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SMS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SMS"

    MANAGE_DEVICE_POLICY_STATUS_BAR

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_STATUS_BAR: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"

    MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"

    MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"

    MANAGE_DEVICE_POLICY_SYSTEM_APPS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SYSTEM_APPS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"

    MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"

    MANAGE_DEVICE_POLICY_SYSTEM_UPDATES

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_SYSTEM_UPDATES: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"

    MANAGE_DEVICE_POLICY_THREAD_NETWORK

    Added in API level 36
    static val MANAGE_DEVICE_POLICY_THREAD_NETWORK: String

    Allows an application to set policy related to Thread network.

    Protection level: internal|role

    Intended for use by the DEVICE_POLICY_MANAGEMENT role only.

    Value: "android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"

    MANAGE_DEVICE_POLICY_TIME

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_TIME: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_TIME"

    MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"

    MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"

    MANAGE_DEVICE_POLICY_USERS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_USERS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_USERS"

    MANAGE_DEVICE_POLICY_VPN

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_VPN: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_VPN"

    MANAGE_DEVICE_POLICY_WALLPAPER

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_WALLPAPER: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"

    MANAGE_DEVICE_POLICY_WIFI

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_WIFI: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_WIFI"

    MANAGE_DEVICE_POLICY_WINDOWS

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_WINDOWS: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_WINDOWS"

    MANAGE_DEVICE_POLICY_WIPE_DATA

    Added in API level 34
    static val MANAGE_DEVICE_POLICY_WIPE_DATA: String

    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.

    Value: "android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"

    MANAGE_DOCUMENTS

    Added in API level 19
    static val MANAGE_DOCUMENTS: String

    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.

    Value: "android.permission.MANAGE_DOCUMENTS"

    MANAGE_EXTERNAL_STORAGE

    Added in API level 30
    static val MANAGE_EXTERNAL_STORAGE: String

    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

    Value: "android.permission.MANAGE_EXTERNAL_STORAGE"

    MANAGE_MEDIA

    Added in API level 31
    static val MANAGE_MEDIA: String

    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 android.provider.MediaStore#createWriteRequest(ContentResolver,Collection), android.provider.MediaStore#createDeleteRequest(ContentResolver,Collection), or android.provider.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

    Value: "android.permission.MANAGE_MEDIA"

    MANAGE_ONGOING_CALLS

    Added in API level 31
    static val MANAGE_ONGOING_CALLS: String

    Allows to query ongoing call details and manage ongoing calls

    Protection level: signature|appop

    Value: "android.permission.MANAGE_ONGOING_CALLS"

    MANAGE_OWN_CALLS

    Added in API level 26
    static val MANAGE_OWN_CALLS: String

    Allows a calling application which manages its own calls through the self-managed android.telecom.ConnectionService APIs. See android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED for more information on the self-managed ConnectionService APIs.

    Protection level: normal

    Value: "android.permission.MANAGE_OWN_CALLS"

    MANAGE_WIFI_INTERFACES

    Added in API level 33
    static val MANAGE_WIFI_INTERFACES: String

    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.

    Value: "android.permission.MANAGE_WIFI_INTERFACES"

    MANAGE_WIFI_NETWORK_SELECTION

    Added in API level 33
    static val MANAGE_WIFI_NETWORK_SELECTION: String

    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.

    Value: "android.permission.MANAGE_WIFI_NETWORK_SELECTION"

    MASTER_CLEAR

    Added in API level 1
    static val MASTER_CLEAR: String

    Not for use by third-party applications.

    Value: "android.permission.MASTER_CLEAR"

    MEDIA_CONTENT_CONTROL

    Added in API level 19
    static val MEDIA_CONTENT_CONTROL: String

    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

    Value: "android.permission.MEDIA_CONTENT_CONTROL"

    MEDIA_ROUTING_CONTROL

    Added in API level 35
    static val MEDIA_ROUTING_CONTROL: String

    Allows an application to control the routing of media apps.

    Only for use by role COMPANION_DEVICE_WATCH

    Value: "android.permission.MEDIA_ROUTING_CONTROL"

    MODIFY_AUDIO_SETTINGS

    Added in API level 1
    static val MODIFY_AUDIO_SETTINGS: String

    Allows an application to modify global audio settings.

    Protection level: normal

    Value: "android.permission.MODIFY_AUDIO_SETTINGS"

    MODIFY_PHONE_STATE

    Added in API level 1
    static val MODIFY_PHONE_STATE: String

    Allows modification of the telephony state - power on, mmi, etc. Does not include placing calls.

    Not for use by third-party applications.

    Value: "android.permission.MODIFY_PHONE_STATE"

    MOUNT_FORMAT_FILESYSTEMS

    Added in API level 3
    static val MOUNT_FORMAT_FILESYSTEMS: String

    Allows formatting file systems for removable storage.

    Not for use by third-party applications.

    Value: "android.permission.MOUNT_FORMAT_FILESYSTEMS"

    MOUNT_UNMOUNT_FILESYSTEMS

    Added in API level 1
    static val MOUNT_UNMOUNT_FILESYSTEMS: String

    Allows mounting and unmounting file systems for removable storage.

    Not for use by third-party applications.

    Value: "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"

    NEARBY_WIFI_DEVICES

    Added in API level 33
    static val NEARBY_WIFI_DEVICES: String

    Required to be able to advertise and connect to nearby devices via Wi-Fi.

    Protection level: dangerous

    Value: "android.permission.NEARBY_WIFI_DEVICES"

    NFC

    Added in API level 9
    static val NFC: String

    Allows applications to perform I/O operations over NFC.

    Protection level: normal

    Value: "android.permission.NFC"

    NFC_PREFERRED_PAYMENT_INFO

    Added in API level 30
    static val NFC_PREFERRED_PAYMENT_INFO: String

    Allows applications to receive NFC preferred payment service information.

    Protection level: normal

    Value: "android.permission.NFC_PREFERRED_PAYMENT_INFO"

    NFC_TRANSACTION_EVENT

    Added in API level 28
    static val NFC_TRANSACTION_EVENT: String

    Allows applications to receive NFC transaction events.

    Protection level: normal

    Value: "android.permission.NFC_TRANSACTION_EVENT"

    OVERRIDE_MEDIA_SESSION_OWNER

    Added in API level 1
    static val OVERRIDE_MEDIA_SESSION_OWNER: String

    Allows an application to override the owner of a MediaSession.

    Not for use by third-party applications due to privacy of media applications.

    Value: "android.permission.OVERRIDE_MEDIA_SESSION_OWNER"

    OVERRIDE_WIFI_CONFIG

    Added in API level 33
    static val OVERRIDE_WIFI_CONFIG: String

    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.

    Value: "android.permission.OVERRIDE_WIFI_CONFIG"

    PACKAGE_USAGE_STATS

    Added in API level 23
    static val PACKAGE_USAGE_STATS: String

    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

    Value: "android.permission.PACKAGE_USAGE_STATS"

    PERSISTENT_ACTIVITY

    Added in API level 1
    Deprecated in API level 15
    static val PERSISTENT_ACTIVITY: String

    Deprecated: This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.

    Value: "android.permission.PERSISTENT_ACTIVITY"

    POST_NOTIFICATIONS

    Added in API level 33
    static val POST_NOTIFICATIONS: String

    Allows an app to post notifications

    Protection level: dangerous

    Value: "android.permission.POST_NOTIFICATIONS"

    POST_PROMOTED_NOTIFICATIONS

    static val POST_PROMOTED_NOTIFICATIONS: String

    Required for apps to post promoted notifications.

    This is required in addition to (not instead of) POST_NOTIFICATIONS.

    Protection level: normal|appops

    Value: "android.permission.POST_PROMOTED_NOTIFICATIONS"

    PROCESS_OUTGOING_CALLS

    Added in API level 1
    Deprecated in API level 29
    static val PROCESS_OUTGOING_CALLS: String

    Deprecated: Applications should use android.telecom.CallRedirectionService instead of the android.content.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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.PROCESS_OUTGOING_CALLS"

    PROVIDE_OWN_AUTOFILL_SUGGESTIONS

    Added in API level 34
    static val PROVIDE_OWN_AUTOFILL_SUGGESTIONS: String

    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

    Value: "android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"

    PROVIDE_REMOTE_CREDENTIALS

    Added in API level 34
    static val PROVIDE_REMOTE_CREDENTIALS: String

    Allows an application to be able to store and retrieve credentials from a remote device.

    Protection level: signature|privileged|role

    Value: "android.permission.PROVIDE_REMOTE_CREDENTIALS"

    QUERY_ADVANCED_PROTECTION_MODE

    Added in API level 36
    static val QUERY_ADVANCED_PROTECTION_MODE: String

    Allows an application to query the device's advanced protection mode status.

    Value: "android.permission.QUERY_ADVANCED_PROTECTION_MODE"

    QUERY_ALL_PACKAGES

    Added in API level 30
    static val QUERY_ALL_PACKAGES: String

    Allows query of any normal app on the device, regardless of manifest declarations.

    Protection level: normal

    Value: "android.permission.QUERY_ALL_PACKAGES"

    RANGING

    Added in API level 36
    static val RANGING: String

    Required to be able to range to devices using generic ranging module.

    Protection level: dangerous

    Value: "android.permission.RANGING"

    READ_ASSISTANT_APP_SEARCH_DATA

    Added in API level 33
    static val READ_ASSISTANT_APP_SEARCH_DATA: String

    Allows an application to query over global data in AppSearch that's visible to the ASSISTANT role.

    Value: "android.permission.READ_ASSISTANT_APP_SEARCH_DATA"

    READ_BASIC_PHONE_STATE

    Added in API level 33
    static val READ_BASIC_PHONE_STATE: String

    Allows read only access to phone state with a non dangerous permission, including the information like cellular network type, software version.

    Value: "android.permission.READ_BASIC_PHONE_STATE"

    READ_CALENDAR

    Added in API level 1
    static val READ_CALENDAR: String

    Allows an application to read the user's calendar data.

    Protection level: dangerous

    Value: "android.permission.READ_CALENDAR"

    READ_CALL_LOG

    Added in API level 16
    static val READ_CALL_LOG: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.READ_CALL_LOG"

    READ_COLOR_ZONES

    Added in API level 36
    static val READ_COLOR_ZONES: String

    Allows an application to read the aggregated color zones on the screen for use cases like TV ambient backlight usages.

    Protection level: normal

    Value: "android.permission.READ_COLOR_ZONES"

    READ_CONTACTS

    Added in API level 1
    static val READ_CONTACTS: String

    Allows an application to read the user's contacts data.

    Protection level: dangerous

    Value: "android.permission.READ_CONTACTS"

    READ_DROPBOX_DATA

    Added in API level 35
    static val READ_DROPBOX_DATA: String

    Allows an application to access the data in Dropbox.

    Not for use by third-party applications.

    Value: "android.permission.READ_DROPBOX_DATA"

    READ_EXTERNAL_STORAGE

    Added in API level 16
    static val READ_EXTERNAL_STORAGE: String

    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 android.content.Context#getExternalFilesDir and android.content.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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Protection level: dangerous

    Value: "android.permission.READ_EXTERNAL_STORAGE"

    READ_HOME_APP_SEARCH_DATA

    Added in API level 33
    static val READ_HOME_APP_SEARCH_DATA: String

    Allows an application to query over global data in AppSearch that's visible to the HOME role.

    Value: "android.permission.READ_HOME_APP_SEARCH_DATA"

    READ_INPUT_STATE

    Added in API level 1
    Deprecated in API level 16
    static val READ_INPUT_STATE: String

    Deprecated: 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.

    Value: "android.permission.READ_INPUT_STATE"

    READ_LOGS

    Added in API level 1
    static val READ_LOGS: String

    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.

    Value: "android.permission.READ_LOGS"

    READ_MEDIA_AUDIO

    Added in API level 33
    static val READ_MEDIA_AUDIO: String

    Allows an application to read audio files from external storage.

    This permission is enforced starting in API level android.os.Build.VERSION_CODES#TIRAMISU. An app which targets android.os.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 android.os.Build.VERSION_CODES#S_V2 or lower, the READ_EXTERNAL_STORAGE permission is required, instead, to read audio files.

    Protection level: dangerous

    Value: "android.permission.READ_MEDIA_AUDIO"

    READ_MEDIA_IMAGES

    Added in API level 33
    static val READ_MEDIA_IMAGES: String

    Allows an application to read image files from external storage.

    This permission is enforced starting in API level android.os.Build.VERSION_CODES#TIRAMISU. An app which targets android.os.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 android.os.Build.VERSION_CODES#S_V2 or lower, the READ_EXTERNAL_STORAGE permission is required, instead, to read image files.

    Protection level: dangerous

    Value: "android.permission.READ_MEDIA_IMAGES"

    READ_MEDIA_VIDEO

    Added in API level 33
    static val READ_MEDIA_VIDEO: String

    Allows an application to read video files from external storage.

    This permission is enforced starting in API level android.os.Build.VERSION_CODES#TIRAMISU. An app which targets android.os.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 android.os.Build.VERSION_CODES#S_V2 or lower, the READ_EXTERNAL_STORAGE permission is required, instead, to read video files.

    Protection level: dangerous

    Value: "android.permission.READ_MEDIA_VIDEO"

    READ_MEDIA_VISUAL_USER_SELECTED

    Added in API level 34
    static val READ_MEDIA_VISUAL_USER_SELECTED: String

    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

    Value: "android.permission.READ_MEDIA_VISUAL_USER_SELECTED"

    READ_NEARBY_STREAMING_POLICY

    Added in API level 33
    static val READ_NEARBY_STREAMING_POLICY: String

    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 android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy or android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy.

    Value: "android.permission.READ_NEARBY_STREAMING_POLICY"

    READ_PHONE_NUMBERS

    Added in API level 26
    static val READ_PHONE_NUMBERS: String

    Allows read access to the device's phone number(s), which is exposed to instant applications.

    Protection level: dangerous

    Value: "android.permission.READ_PHONE_NUMBERS"

    READ_PHONE_STATE

    Added in API level 1
    static val READ_PHONE_STATE: String

    Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any android.telecom.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

    Value: "android.permission.READ_PHONE_STATE"

    READ_PRECISE_PHONE_STATE

    Added in API level 30
    static val READ_PRECISE_PHONE_STATE: String

    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.

    Value: "android.permission.READ_PRECISE_PHONE_STATE"

    READ_SMS

    Added in API level 1
    static val READ_SMS: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.READ_SMS"

    READ_SYNC_SETTINGS

    Added in API level 1
    static val READ_SYNC_SETTINGS: String

    Allows applications to read the sync settings.

    Protection level: normal

    Value: "android.permission.READ_SYNC_SETTINGS"

    READ_SYNC_STATS

    Added in API level 1
    static val READ_SYNC_STATS: String

    Allows applications to read the sync stats.

    Protection level: normal

    Value: "android.permission.READ_SYNC_STATS"

    READ_SYSTEM_PREFERENCES

    Added in API level 36
    static val READ_SYSTEM_PREFERENCES: String

    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.

    Value: "android.permission.READ_SYSTEM_PREFERENCES"

    READ_VOICEMAIL

    Added in API level 21
    static val READ_VOICEMAIL: String

    Allows an application to read voicemails in the system.

    Protection level: signature|privileged|role

    Value: "com.android.voicemail.permission.READ_VOICEMAIL"

    REBOOT

    Added in API level 1
    static val REBOOT: String

    Required to be able to reboot the device.

    Not for use by third-party applications.

    Value: "android.permission.REBOOT"

    RECEIVE_BOOT_COMPLETED

    Added in API level 1
    static val RECEIVE_BOOT_COMPLETED: String

    Allows an application to receive the android.content.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

    Value: "android.permission.RECEIVE_BOOT_COMPLETED"

    RECEIVE_MMS

    Added in API level 1
    static val RECEIVE_MMS: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.RECEIVE_MMS"

    RECEIVE_SENSITIVE_NOTIFICATIONS

    static val RECEIVE_SENSITIVE_NOTIFICATIONS: String

    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

    Value: "android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"

    RECEIVE_SMS

    Added in API level 1
    static val RECEIVE_SMS: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.RECEIVE_SMS"

    RECEIVE_WAP_PUSH

    Added in API level 1
    static val RECEIVE_WAP_PUSH: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.RECEIVE_WAP_PUSH"

    RECORD_AUDIO

    Added in API level 1
    static val RECORD_AUDIO: String

    Allows an application to record audio.

    Protection level: dangerous

    Value: "android.permission.RECORD_AUDIO"

    REORDER_TASKS

    Added in API level 1
    static val REORDER_TASKS: String

    Allows an application to change the Z-order of tasks.

    Protection level: normal

    Value: "android.permission.REORDER_TASKS"

    REPOSITION_SELF_WINDOWS

    Added in API level 1
    static val REPOSITION_SELF_WINDOWS: String

    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

    Value: "android.permission.REPOSITION_SELF_WINDOWS"

    REQUEST_COMPANION_PROFILE_APP_STREAMING

    Added in API level 33
    static val REQUEST_COMPANION_PROFILE_APP_STREAMING: String

    Allows application to request to be associated with a virtual device capable of streaming Android applications (android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING) by android.companion.CompanionDeviceManager.

    Not for use by third-party applications.

    Value: "android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"

    REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION

    Added in API level 33
    static val REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION: String

    Allows application to request to be associated with a vehicle head unit capable of automotive projection (android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION) by android.companion.CompanionDeviceManager.

    Not for use by third-party applications.

    Value: "android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"

    REQUEST_COMPANION_PROFILE_COMPUTER

    Added in API level 33
    static val REQUEST_COMPANION_PROFILE_COMPUTER: String

    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 (android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER) by android.companion.CompanionDeviceManager.

    Not for use by third-party applications.

    Value: "android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"

    REQUEST_COMPANION_PROFILE_GLASSES

    Added in API level 34
    static val REQUEST_COMPANION_PROFILE_GLASSES: String

    Allows app to request to be associated with a device via android.companion.CompanionDeviceManager as "glasses"

    Protection level: normal

    Value: "android.permission.REQUEST_COMPANION_PROFILE_GLASSES"

    REQUEST_COMPANION_PROFILE_MEDICAL

    Added in API level 1
    static val REQUEST_COMPANION_PROFILE_MEDICAL: String

    Allows application to request to associate with a android.companion.AssociationRequest#DEVICE_PROFILE_MEDICAL device via android.companion.CompanionDeviceManager.

    Value: "android.permission.REQUEST_COMPANION_PROFILE_MEDICAL"

    REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING

    Added in API level 34
    static val REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING: String

    Allows application to request to stream content from an Android host to a nearby device (android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING) by android.companion.CompanionDeviceManager.

    Not for use by third-party applications.

    Value: "android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"

    REQUEST_COMPANION_PROFILE_WATCH

    Added in API level 31
    static val REQUEST_COMPANION_PROFILE_WATCH: String

    Allows app to request to be associated with a device via android.companion.CompanionDeviceManager as a "watch"

    Protection level: normal

    Value: "android.permission.REQUEST_COMPANION_PROFILE_WATCH"

    REQUEST_COMPANION_RUN_IN_BACKGROUND

    Added in API level 26
    static val REQUEST_COMPANION_RUN_IN_BACKGROUND: String

    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

    Value: "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"

    REQUEST_COMPANION_SELF_MANAGED

    Added in API level 33
    static val REQUEST_COMPANION_SELF_MANAGED: String

    Allows an application to create a "self-managed" association.

    Value: "android.permission.REQUEST_COMPANION_SELF_MANAGED"

    REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND

    Added in API level 31
    static val REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND: String

    Allows a companion app to start a foreground service from the background.

    Protection level: normal

    Value: "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"

    REQUEST_COMPANION_USE_DATA_IN_BACKGROUND

    Added in API level 26
    static val REQUEST_COMPANION_USE_DATA_IN_BACKGROUND: String

    Allows a companion app to use data in the background.

    Protection level: normal

    Value: "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"

    REQUEST_DELETE_PACKAGES

    Added in API level 26
    static val REQUEST_DELETE_PACKAGES: String

    Allows an application to request deleting packages. Apps targeting APIs android.os.Build.VERSION_CODES#P or greater must hold this permission in order to use android.content.Intent#ACTION_UNINSTALL_PACKAGE or android.content.pm.PackageInstaller#uninstall.

    Protection level: normal

    Value: "android.permission.REQUEST_DELETE_PACKAGES"

    REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

    Added in API level 23
    static val REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: String

    Permission an application must hold in order to use android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.

    Protection level: normal

    Value: "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"

    REQUEST_INSTALL_PACKAGES

    Added in API level 23
    static val REQUEST_INSTALL_PACKAGES: String

    Allows an application to request installing packages. Apps targeting APIs greater than 25 must hold this permission in order to use android.content.Intent#ACTION_INSTALL_PACKAGE.

    Protection level: signature

    Value: "android.permission.REQUEST_INSTALL_PACKAGES"

    REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE

    Added in API level 31
    static val REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE: String

    Allows an application to subscribe to notifications about the presence status change of their associated companion device

    Value: "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"

    REQUEST_OBSERVE_DEVICE_UUID_PRESENCE

    Added in API level 36
    static val REQUEST_OBSERVE_DEVICE_UUID_PRESENCE: String

    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.

    Value: "android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"

    REQUEST_PASSWORD_COMPLEXITY

    Added in API level 29
    static val REQUEST_PASSWORD_COMPLEXITY: String

    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

    Value: "android.permission.REQUEST_PASSWORD_COMPLEXITY"

    RESTART_PACKAGES

    Added in API level 1
    Deprecated in API level 15
    static val RESTART_PACKAGES: String

    Deprecated: The android.app.ActivityManager#restartPackage API is no longer supported.

    Value: "android.permission.RESTART_PACKAGES"

    RUN_USER_INITIATED_JOBS

    Added in API level 34
    static val RUN_USER_INITIATED_JOBS: String

    Allows applications to use the user-initiated jobs API. For more details see android.app.job.JobInfo.Builder#setUserInitiated.

    Protection level: normal

    Value: "android.permission.RUN_USER_INITIATED_JOBS"

    SCHEDULE_EXACT_ALARM

    Added in API level 31
    static val SCHEDULE_EXACT_ALARM: String

    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 android.os.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 android.os.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 android.os.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

    Value: "android.permission.SCHEDULE_EXACT_ALARM"

    SEND_RESPOND_VIA_MESSAGE

    Added in API level 18
    static val SEND_RESPOND_VIA_MESSAGE: String

    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.

    Value: "android.permission.SEND_RESPOND_VIA_MESSAGE"

    SEND_SMS

    Added in API level 1
    static val SEND_SMS: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.SEND_SMS"

    SET_ALARM

    Added in API level 9
    static val SET_ALARM: String

    Allows an application to broadcast an Intent to set an alarm for the user.

    Protection level: normal

    Value: "com.android.alarm.permission.SET_ALARM"

    SET_ALWAYS_FINISH

    Added in API level 1
    static val SET_ALWAYS_FINISH: String

    Allows an application to control whether activities are immediately finished when put in the background.

    Not for use by third-party applications.

    Value: "android.permission.SET_ALWAYS_FINISH"

    SET_ANIMATION_SCALE

    Added in API level 1
    static val SET_ANIMATION_SCALE: String

    Modify the global animation scaling factor.

    Not for use by third-party applications.

    Value: "android.permission.SET_ANIMATION_SCALE"

    SET_BIOMETRIC_DIALOG_ADVANCED

    Added in API level 35
    static val SET_BIOMETRIC_DIALOG_ADVANCED: String

    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.

    Value: "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"

    SET_DEBUG_APP

    Added in API level 1
    static val SET_DEBUG_APP: String

    Configure an application for debugging.

    Not for use by third-party applications.

    Value: "android.permission.SET_DEBUG_APP"

    SET_PREFERRED_APPLICATIONS

    Added in API level 1
    Deprecated in API level 15
    static val SET_PREFERRED_APPLICATIONS: String

    Deprecated: No longer useful, see android.content.pm.PackageManager#addPackageToPreferred for details.

    Value: "android.permission.SET_PREFERRED_APPLICATIONS"

    SET_PROCESS_LIMIT

    Added in API level 1
    static val SET_PROCESS_LIMIT: String

    Allows an application to set the maximum number of (not needed) application processes that can be running.

    Not for use by third-party applications.

    Value: "android.permission.SET_PROCESS_LIMIT"

    SET_TIME

    Added in API level 8
    static val SET_TIME: String

    Allows applications to set the system time directly.

    Not for use by third-party applications.

    Value: "android.permission.SET_TIME"

    SET_TIME_ZONE

    Added in API level 1
    static val SET_TIME_ZONE: String

    Allows applications to set the system time zone directly.

    Not for use by third-party applications.

    Value: "android.permission.SET_TIME_ZONE"

    SET_WALLPAPER

    Added in API level 1
    static val SET_WALLPAPER: String

    Allows applications to set the wallpaper.

    Protection level: normal

    Value: "android.permission.SET_WALLPAPER"

    SET_WALLPAPER_HINTS

    Added in API level 1
    static val SET_WALLPAPER_HINTS: String

    Allows applications to set the wallpaper hints.

    Protection level: normal

    Value: "android.permission.SET_WALLPAPER_HINTS"

    SHOW_POWER_MENU

    Added in API level 1
    static val SHOW_POWER_MENU: String

    Permission needed to request to show the Power Menu.

    Granted to the current holder of the ASSISTANT role.

    Value: "android.permission.SHOW_POWER_MENU"

    SHOW_POWER_MENU_PRIVILEGED

    Added in API level 1
    static val SHOW_POWER_MENU_PRIVILEGED: String

    Permission needed to request to show the Power Menu.

    Granted to certain privileged apps.

    Value: "android.permission.SHOW_POWER_MENU_PRIVILEGED"

    SIGNAL_PERSISTENT_PROCESSES

    Added in API level 1
    static val SIGNAL_PERSISTENT_PROCESSES: String

    Allow an application to request that a signal be sent to all persistent processes.

    Not for use by third-party applications.

    Value: "android.permission.SIGNAL_PERSISTENT_PROCESSES"

    SMS_FINANCIAL_TRANSACTIONS

    Added in API level 29
    Deprecated in API level 31
    static val SMS_FINANCIAL_TRANSACTIONS: String

    Deprecated: The API that used this permission is no longer functional.

    Allows financial apps to read filtered sms messages. Protection level: signature|appop

    Value: "android.permission.SMS_FINANCIAL_TRANSACTIONS"

    START_FOREGROUND_SERVICES_FROM_BACKGROUND

    Added in API level 31
    static val START_FOREGROUND_SERVICES_FROM_BACKGROUND: String

    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.

    Value: "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"

    START_VIEW_APP_FEATURES

    Added in API level 33
    static val START_VIEW_APP_FEATURES: String

    Allows the holder to start the screen with a list of app features.

    Protection level: signature|installer

    Value: "android.permission.START_VIEW_APP_FEATURES"

    START_VIEW_PERMISSION_USAGE

    Added in API level 29
    static val START_VIEW_PERMISSION_USAGE: String

    Allows the holder to start the permission usage screen for an app.

    Protection level: signature|installer

    Value: "android.permission.START_VIEW_PERMISSION_USAGE"

    STATUS_BAR

    Added in API level 1
    static val STATUS_BAR: String

    Allows an application to open, close, or disable the status bar and its icons.

    Not for use by third-party applications.

    Value: "android.permission.STATUS_BAR"

    SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE

    Added in API level 33
    static val SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE: String

    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.

    Value: "android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"

    SYSTEM_ALERT_WINDOW

    Added in API level 1
    static val SYSTEM_ALERT_WINDOW: String

    Allows an app to create windows using the type android.view.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 android.provider.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

    Value: "android.permission.SYSTEM_ALERT_WINDOW"

    TRANSMIT_IR

    Added in API level 19
    static val TRANSMIT_IR: String

    Allows using the device's IR transmitter, if available.

    Protection level: normal

    Value: "android.permission.TRANSMIT_IR"

    TURN_SCREEN_ON

    Added in API level 34
    static val TURN_SCREEN_ON: String

    Allows an app to turn on the screen on, e.g. with android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP.

    Intended to only be used by home automation apps.

    Value: "android.permission.TURN_SCREEN_ON"

    TV_IMPLICIT_ENTER_PIP

    Added in API level 36
    static val TV_IMPLICIT_ENTER_PIP: String

    Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting it. This includes using PictureInPictureParams.Builder#setAutoEnterEnabled as well as lifecycle methods such as Activity#onUserLeaveHint and Activity#onPause to enter PiP when the user leaves the app. This permission should only be used for certain PiP usage types.

    Value: "android.permission.TV_IMPLICIT_ENTER_PIP"

    UNINSTALL_SHORTCUT

    Added in API level 19
    static val UNINSTALL_SHORTCUT: String

    Don't use this permission in your app.
    This permission is no longer supported.

    Value: "com.android.launcher.permission.UNINSTALL_SHORTCUT"

    UPDATE_DEVICE_STATS

    Added in API level 3
    static val UPDATE_DEVICE_STATS: String

    Allows an application to update device statistics.

    Not for use by third-party applications.

    Value: "android.permission.UPDATE_DEVICE_STATS"

    UPDATE_PACKAGES_WITHOUT_USER_ACTION

    Added in API level 31
    static val UPDATE_PACKAGES_WITHOUT_USER_ACTION: String

    Allows an application to indicate via android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int) that user action should not be required for an app update.

    Protection level: normal

    Value: "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"

    USE_BIOMETRIC

    Added in API level 28
    static val USE_BIOMETRIC: String

    Allows an app to use device supported biometric modalities.

    Protection level: normal

    Value: "android.permission.USE_BIOMETRIC"

    USE_EXACT_ALARM

    Added in API level 33
    static val USE_EXACT_ALARM: String

    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 android.os.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.

    Value: "android.permission.USE_EXACT_ALARM"

    USE_FINGERPRINT

    Added in API level 23
    Deprecated in API level 28
    static val USE_FINGERPRINT: String

    Deprecated: Applications should request USE_BIOMETRIC instead

    Allows an app to use fingerprint hardware.

    Protection level: normal

    Value: "android.permission.USE_FINGERPRINT"

    USE_FULL_SCREEN_INTENT

    Added in API level 29
    static val USE_FULL_SCREEN_INTENT: String

    Required for apps targeting android.os.Build.VERSION_CODES#Q that want to use notification full screen.

    Protection level: normal

    Value: "android.permission.USE_FULL_SCREEN_INTENT"

    USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER

    Added in API level 31
    static val USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER: String

    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

    Value: "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"

    USE_LOOPBACK_INTERFACE

    Added in API level 1
    static val USE_LOOPBACK_INTERFACE: String

    Required to be able to interact with other applications via IP packets on the loopback interface.

    Protection level: normal

    Value: "android.permission.USE_LOOPBACK_INTERFACE"

    USE_SIP

    Added in API level 9
    static val USE_SIP: String

    Allows an application to use SIP service.

    Protection level: dangerous

    Value: "android.permission.USE_SIP"

    UWB_RANGING

    Added in API level 31
    static val UWB_RANGING: String

    Required to be able to range to devices using ultra-wideband.

    Protection level: dangerous

    Value: "android.permission.UWB_RANGING"

    VIBRATE

    Added in API level 1
    static val VIBRATE: String

    Allows access to the vibrator.

    Protection level: normal

    Value: "android.permission.VIBRATE"

    WAKE_LOCK

    Added in API level 1
    static val WAKE_LOCK: String

    Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.

    Protection level: normal

    Value: "android.permission.WAKE_LOCK"

    WRITE_APN_SETTINGS

    Added in API level 1
    static val WRITE_APN_SETTINGS: String

    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.

    Value: "android.permission.WRITE_APN_SETTINGS"

    WRITE_CALENDAR

    Added in API level 1
    static val WRITE_CALENDAR: String

    Allows an application to write the user's calendar data.

    Protection level: dangerous

    Value: "android.permission.WRITE_CALENDAR"

    WRITE_CALL_LOG

    Added in API level 16
    static val WRITE_CALL_LOG: String

    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 android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set).

    Value: "android.permission.WRITE_CALL_LOG"

    WRITE_CONTACTS

    Added in API level 1
    static val WRITE_CONTACTS: String

    Allows an application to write the user's contacts data.

    Protection level: dangerous

    Value: "android.permission.WRITE_CONTACTS"

    WRITE_EXTERNAL_STORAGE

    Added in API level 4
    static val WRITE_EXTERNAL_STORAGE: String

    Allows an application to write to external storage.

    Note: If your app targets android.os.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 android.content.Context#getExternalFilesDir and android.content.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 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

    Value: "android.permission.WRITE_EXTERNAL_STORAGE"

    WRITE_GSERVICES

    Added in API level 1
    static val WRITE_GSERVICES: String

    Allows an application to modify the Google service map.

    Not for use by third-party applications.

    Value: "android.permission.WRITE_GSERVICES"

    WRITE_SECURE_SETTINGS

    Added in API level 3
    static val WRITE_SECURE_SETTINGS: String

    Allows an application to read or write the secure system settings.

    Not for use by third-party applications.

    Value: "android.permission.WRITE_SECURE_SETTINGS"

    WRITE_SETTINGS

    Added in API level 1
    static val WRITE_SETTINGS: String

    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 android.provider.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

    Value: "android.permission.WRITE_SETTINGS"

    WRITE_SYNC_SETTINGS

    Added in API level 1
    static val WRITE_SYNC_SETTINGS: String

    Allows applications to write the sync settings.

    Protection level: normal

    Value: "android.permission.WRITE_SYNC_SETTINGS"

    WRITE_SYSTEM_PREFERENCES

    Added in API level 36
    static val WRITE_SYSTEM_PREFERENCES: String

    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

    Value: "android.permission.WRITE_SYSTEM_PREFERENCES"

    WRITE_VOICEMAIL

    Added in API level 21
    static val WRITE_VOICEMAIL: String

    Allows an application to modify and remove existing voicemails in the system.

    Protection level: signature|privileged|role

    Value: "com.android.voicemail.permission.WRITE_VOICEMAIL"

    Public constructors

    permission

    permission()