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

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 query of any normal app on the device, regardless of manifest declarations.

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 user's contacts data.

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

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 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 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 application to request to be associated with a virtual display 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 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 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

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

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

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 android.Manifest.permission#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

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 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_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_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"

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_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 android.Manifest.permission#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 , 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 , 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 , 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_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"

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"

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"

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

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.

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.

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 android.Manifest.permission#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.

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.

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"

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.

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"

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.

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.

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_CAMERA"

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"

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.

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Value: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 requested by the platform document management app. 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"

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_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"

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_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"

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_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_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). This is a subset of the capabilities granted by READ_PHONE_STATE but 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_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_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"

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 display 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_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 android.Manifest.permission#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 android.Manifest.permission#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. {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_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_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 android.Manifest.permission#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_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"

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 keyguard locked (i.e., showing) state.

Protection level: signature|role

Intended for use by ROLE_ASSISTANT and signature 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"

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 android.Manifest.permission#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 android.Manifest.permission#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_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_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()