Android APIs
public static final class

Manifest.permission

extends Object
java.lang.Object
   ↳ android.Manifest.permission

Summary

Constants
String ACCESS_CHECKIN_PROPERTIES Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
String ACCESS_COARSE_LOCATION Allows an app to access approximate location.
String ACCESS_FINE_LOCATION Allows an app to access precise location.
String ACCESS_LOCATION_EXTRA_COMMANDS Allows an application to access extra location provider commands.
String ACCESS_NETWORK_STATE Allows applications to access information about networks.
String ACCESS_NOTIFICATION_POLICY Marker permission for applications that wish to access notification policy.
String ACCESS_WIFI_STATE Allows applications to access information about Wi-Fi networks.
String ACCOUNT_MANAGER Allows applications to call into AccountAuthenticators.
String ADD_VOICEMAIL Allows an application to add voicemails into the system.
String BATTERY_STATS Allows an application to collect battery statistics
String BIND_ACCESSIBILITY_SERVICE Must be required by an AccessibilityService, to ensure that only the system can bind to it.
String BIND_APPWIDGET Allows an application to tell the AppWidget service which application can access AppWidget's data.
String BIND_CARRIER_MESSAGING_SERVICE This constant was deprecated in API level 23. Use BIND_CARRIER_SERVICES instead
String BIND_CARRIER_SERVICES The system process that is allowed to bind to services in carrier apps will have this permission.
String BIND_CHOOSER_TARGET_SERVICE Must be required by a ChooserTargetService, to ensure that only the system can bind to it.
String BIND_DEVICE_ADMIN Must be required by device administration receiver, to ensure that only the system can interact with it.
String BIND_DREAM_SERVICE Must be required by an DreamService, to ensure that only the system can bind to it.
String BIND_INCALL_SERVICE Must be required by a InCallService, to ensure that only the system can bind to it.
String BIND_INPUT_METHOD Must be required by an InputMethodService, to ensure that only the system can bind to it.
String BIND_MIDI_DEVICE_SERVICE Must be required by an MidiDeviceService, to ensure that only the system can bind to it.
String BIND_NFC_SERVICE Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
String BIND_NOTIFICATION_LISTENER_SERVICE Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
String BIND_PRINT_SERVICE Must be required by a PrintService, to ensure that only the system can bind to it.
String BIND_REMOTEVIEWS Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
String BIND_TELECOM_CONNECTION_SERVICE Must be required by a ConnectionService, to ensure that only the system can bind to it.
String BIND_TEXT_SERVICE Must be required by a TextService (eg SpellCheckerService) to ensure that only the system can bind to it.
String BIND_TV_INPUT Must be required by a TvInputService to ensure that only the system can bind to it.
String BIND_VOICE_INTERACTION Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.
String BIND_VPN_SERVICE Must be required by a VpnService, to ensure that only the system can bind to it.
String BIND_WALLPAPER Must be required by a WallpaperService, to ensure that only the system can bind to it.
String BLUETOOTH Allows applications to connect to paired bluetooth devices.
String BLUETOOTH_ADMIN Allows applications to discover and pair bluetooth devices.
String BLUETOOTH_PRIVILEGED Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
String BODY_SENSORS Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.
String BROADCAST_PACKAGE_REMOVED Allows an application to broadcast a notification that an application package has been removed.
String BROADCAST_SMS Allows an application to broadcast an SMS receipt notification.
String BROADCAST_STICKY Allows an application to broadcast sticky intents.
String BROADCAST_WAP_PUSH Allows an application to broadcast a WAP PUSH receipt notification.
String CALL_PHONE Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
String CALL_PRIVILEGED Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.
String CAMERA Required to be able to access the camera device.
String CAPTURE_AUDIO_OUTPUT Allows an application to capture audio output.
String CAPTURE_SECURE_VIDEO_OUTPUT Allows an application to capture secure video output.
String CAPTURE_VIDEO_OUTPUT Allows an application to capture video output.
String CHANGE_COMPONENT_ENABLED_STATE Allows an application to change whether an application component (other than its own) is enabled or not.
String CHANGE_CONFIGURATION Allows an application to modify the current configuration, such as locale.
String CHANGE_NETWORK_STATE Allows applications to change network connectivity state.
String CHANGE_WIFI_MULTICAST_STATE Allows applications to enter Wi-Fi Multicast mode.
String CHANGE_WIFI_STATE Allows applications to change Wi-Fi connectivity state.
String CLEAR_APP_CACHE Allows an application to clear the caches of all installed applications on the device.
String CONTROL_LOCATION_UPDATES Allows enabling/disabling location update notifications from the radio.
String DELETE_CACHE_FILES Allows an application to delete cache files.
String DELETE_PACKAGES Allows an application to delete packages.
String DIAGNOSTIC Allows applications to RW to diagnostic resources.
String DISABLE_KEYGUARD Allows applications to disable the keyguard if it is not secure.
String DUMP Allows an application to retrieve state dump information from system services.
String EXPAND_STATUS_BAR Allows an application to expand or collapse the status bar.
String FACTORY_TEST Run as a manufacturer test application, running as the root user.
String FLASHLIGHT Allows access to the flashlight.
String GET_ACCOUNTS Allows access to the list of accounts in the Accounts Service.
String GET_ACCOUNTS_PRIVILEGED Allows access to the list of accounts in the Accounts Service.
String GET_PACKAGE_SIZE Allows an application to find out the space used by any package.
String GET_TASKS This constant was deprecated in API level 21. No longer enforced.
String GLOBAL_SEARCH This permission can be used on content providers to allow the global search system to access their data.
String INSTALL_LOCATION_PROVIDER Allows an application to install a location provider into the Location Manager.
String INSTALL_PACKAGES Allows an application to install packages.
String INSTALL_SHORTCUT Allows an application to install a shortcut in Launcher.
String INTERNET Allows applications to open network sockets.
String KILL_BACKGROUND_PROCESSES Allows an application to call killBackgroundProcesses(String).
String LOCATION_HARDWARE Allows an application to use location features in hardware, such as the geofencing api.
String MANAGE_DOCUMENTS Allows an application to manage access to documents, usually as part of a document picker.
String MASTER_CLEAR Not for use by third-party applications.
String MEDIA_CONTENT_CONTROL Allows an application to know what content is playing and control its playback.
String MODIFY_AUDIO_SETTINGS Allows an application to modify global audio settings.
String MODIFY_PHONE_STATE Allows modification of the telephony state - power on, mmi, etc.
String MOUNT_FORMAT_FILESYSTEMS Allows formatting file systems for removable storage.
String MOUNT_UNMOUNT_FILESYSTEMS Allows mounting and unmounting file systems for removable storage.
String NFC Allows applications to perform I/O operations over NFC.
String PACKAGE_USAGE_STATS Allows an application to collect component usage statistics

Declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.

String PERSISTENT_ACTIVITY This constant was deprecated in API level 9. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.
String PROCESS_OUTGOING_CALLS 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.
String READ_CALENDAR Allows an application to read the user's calendar data.
String READ_CALL_LOG Allows an application to read the user's call log.
String READ_CONTACTS Allows an application to read the user's contacts data.
String READ_EXTERNAL_STORAGE Allows an application to read from external storage.
String READ_FRAME_BUFFER Allows an application to take screen shots and more generally get access to the frame buffer data.
String READ_INPUT_STATE This constant was deprecated in API level 16. The API that used this permission has been removed.
String READ_LOGS Allows an application to read the low-level system log files.
String READ_PHONE_STATE Allows read only access to phone state.
String READ_SMS Allows an application to read SMS messages.
String READ_SYNC_SETTINGS Allows applications to read the sync settings.
String READ_SYNC_STATS Allows applications to read the sync stats.
String READ_VOICEMAIL Allows an application to read voicemails in the system.
String REBOOT Required to be able to reboot the device.
String RECEIVE_BOOT_COMPLETED Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.
String RECEIVE_MMS Allows an application to monitor incoming MMS messages.
String RECEIVE_SMS Allows an application to receive SMS messages.
String RECEIVE_WAP_PUSH Allows an application to receive WAP push messages.
String RECORD_AUDIO Allows an application to record audio.
String REORDER_TASKS Allows an application to change the Z-order of tasks.
String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Permission an application must hold in order to use ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
String REQUEST_INSTALL_PACKAGES Allows an application to request installing packages.
String RESTART_PACKAGES This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.
String SEND_RESPOND_VIA_MESSAGE Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
String SEND_SMS Allows an application to send SMS messages.
String SET_ALARM Allows an application to broadcast an Intent to set an alarm for the user.
String SET_ALWAYS_FINISH Allows an application to control whether activities are immediately finished when put in the background.
String SET_ANIMATION_SCALE Modify the global animation scaling factor.
String SET_DEBUG_APP Configure an application for debugging.
String SET_PREFERRED_APPLICATIONS This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.
String SET_PROCESS_LIMIT Allows an application to set the maximum number of (not needed) application processes that can be running.
String SET_TIME Allows applications to set the system time.
String SET_TIME_ZONE Allows applications to set the system time zone.
String SET_WALLPAPER Allows applications to set the wallpaper.
String SET_WALLPAPER_HINTS Allows applications to set the wallpaper hints.
String SIGNAL_PERSISTENT_PROCESSES Allow an application to request that a signal be sent to all persistent processes.
String STATUS_BAR Allows an application to open, close, or disable the status bar and its icons.
String SYSTEM_ALERT_WINDOW Allows an app to create windows using the type TYPE_SYSTEM_ALERT, shown on top of all other apps.
String TRANSMIT_IR Allows using the device's IR transmitter, if available.
String UNINSTALL_SHORTCUT Allows an application to uninstall a shortcut in Launcher.
String UPDATE_DEVICE_STATS Allows an application to update device statistics.
String USE_FINGERPRINT Allows an app to use fingerprint hardware.
String USE_SIP Allows an application to use SIP service.
String VIBRATE Allows access to the vibrator.
String WAKE_LOCK Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
String WRITE_APN_SETTINGS Allows applications to write the apn settings.
String WRITE_CALENDAR Allows an application to write the user's calendar data.
String WRITE_CALL_LOG Allows an application to write (but not read) the user's contacts data.
String WRITE_CONTACTS Allows an application to write the user's contacts data.
String WRITE_EXTERNAL_STORAGE Allows an application to write to external storage.
String WRITE_GSERVICES Allows an application to modify the Google service map.
String WRITE_SECURE_SETTINGS Allows an application to read or write the secure system settings.
String WRITE_SETTINGS Allows an application to read or write the system settings.
String WRITE_SYNC_SETTINGS Allows applications to write the sync settings.
String WRITE_VOICEMAIL Allows an application to modify and remove existing voicemails in the system.
Public Constructors
Manifest.permission()
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String ACCESS_CHECKIN_PROPERTIES

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.ACCESS_CHECKIN_PROPERTIES"

public static final String ACCESS_COARSE_LOCATION

Added in API level 1

Allows an app to access approximate location.

Protection level: dangerous

Constant Value: "android.permission.ACCESS_COARSE_LOCATION"

public static final String ACCESS_FINE_LOCATION

Added in API level 1

Allows an app to access precise location.

Protection level: dangerous

Constant Value: "android.permission.ACCESS_FINE_LOCATION"

public static final String ACCESS_LOCATION_EXTRA_COMMANDS

Added in API level 1

Allows an application to access extra location provider commands.

Protection level: normal

Constant Value: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"

public static final String ACCESS_NETWORK_STATE

Added in API level 1

Allows applications to access information about networks.

Protection level: normal

Constant Value: "android.permission.ACCESS_NETWORK_STATE"

public static final String ACCESS_NOTIFICATION_POLICY

Added in API level 23

Marker permission for applications that wish to access notification policy.

Protection level: normal

Constant Value: "android.permission.ACCESS_NOTIFICATION_POLICY"

public static final String ACCESS_WIFI_STATE

Added in API level 1

Allows applications to access information about Wi-Fi networks.

Protection level: normal

Constant Value: "android.permission.ACCESS_WIFI_STATE"

public static final String ACCOUNT_MANAGER

Added in API level 5

Allows applications to call into AccountAuthenticators.

Not for use by third-party applications.

Constant Value: "android.permission.ACCOUNT_MANAGER"

public static final String ADD_VOICEMAIL

Added in API level 14

Allows an application to add voicemails into the system.

Protection level: dangerous

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

public static final String BATTERY_STATS

Added in API level 1

Allows an application to collect battery statistics

Constant Value: "android.permission.BATTERY_STATS"

public static final String BIND_ACCESSIBILITY_SERVICE

Added in API level 16

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

Protection level: signature

Constant Value: "android.permission.BIND_ACCESSIBILITY_SERVICE"

public static final String BIND_APPWIDGET

Added in API level 3

Allows an application to tell the AppWidget service which application can access AppWidget's data. The normal user flow is that a user picks an AppWidget to go into a particular host, thereby giving that host application access to the private data from the AppWidget app. An application that has this permission should honor that contract.

Not for use by third-party applications.

Constant Value: "android.permission.BIND_APPWIDGET"

public static final String BIND_CARRIER_MESSAGING_SERVICE

Added in API level 22

This constant was deprecated in API level 23.
Use BIND_CARRIER_SERVICES instead

Constant Value: "android.permission.BIND_CARRIER_MESSAGING_SERVICE"

public static final String BIND_CARRIER_SERVICES

Added in API level 23

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: system|signature

Constant Value: "android.permission.BIND_CARRIER_SERVICES"

public static final String BIND_CHOOSER_TARGET_SERVICE

Added in API level 23

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

Protection level: signature

Constant Value: "android.permission.BIND_CHOOSER_TARGET_SERVICE"

public static final String BIND_DEVICE_ADMIN

Added in API level 8

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

Protection level: signature

Constant Value: "android.permission.BIND_DEVICE_ADMIN"

public static final String BIND_DREAM_SERVICE

Added in API level 21

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

Protection level: signature

Constant Value: "android.permission.BIND_DREAM_SERVICE"

public static final String BIND_INCALL_SERVICE

Added in API level 23

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

Protection level: system|signature

Constant Value: "android.permission.BIND_INCALL_SERVICE"

public static final String BIND_INPUT_METHOD

Added in API level 3

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

Protection level: signature

Constant Value: "android.permission.BIND_INPUT_METHOD"

public static final String BIND_MIDI_DEVICE_SERVICE

Added in API level 23

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

Protection level: signature

Constant Value: "android.permission.BIND_MIDI_DEVICE_SERVICE"

public static final String BIND_NFC_SERVICE

Added in API level 19

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

Protection level: signature

Constant Value: "android.permission.BIND_NFC_SERVICE"

public static final String BIND_NOTIFICATION_LISTENER_SERVICE

Added in API level 18

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

Protection level: signature

Constant Value: "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"

public static final String BIND_PRINT_SERVICE

Added in API level 19

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

Protection level: signature

Constant Value: "android.permission.BIND_PRINT_SERVICE"

public static final String BIND_REMOTEVIEWS

Added in API level 11

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

Constant Value: "android.permission.BIND_REMOTEVIEWS"

public static final String BIND_TELECOM_CONNECTION_SERVICE

Added in API level 23

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

Protection level: system|signature

Constant Value: "android.permission.BIND_TELECOM_CONNECTION_SERVICE"

public static final String BIND_TEXT_SERVICE

Added in API level 14

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

Protection level: signature

Constant Value: "android.permission.BIND_TEXT_SERVICE"

public static final String BIND_TV_INPUT

Added in API level 21

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

Protection level: signature

Constant Value: "android.permission.BIND_TV_INPUT"

public static final String BIND_VOICE_INTERACTION

Added in API level 21

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

Protection level: signature

Constant Value: "android.permission.BIND_VOICE_INTERACTION"

public static final String BIND_VPN_SERVICE

Added in API level 14

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

Protection level: signature

Constant Value: "android.permission.BIND_VPN_SERVICE"

public static final String BIND_WALLPAPER

Added in API level 8

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

Protection level: system|signature

Constant Value: "android.permission.BIND_WALLPAPER"

public static final String BLUETOOTH

Added in API level 1

Allows applications to connect to paired bluetooth devices.

Protection level: normal

Constant Value: "android.permission.BLUETOOTH"

public static final String BLUETOOTH_ADMIN

Added in API level 1

Allows applications to discover and pair bluetooth devices.

Protection level: normal

Constant Value: "android.permission.BLUETOOTH_ADMIN"

public static final String BLUETOOTH_PRIVILEGED

Added in API level 19

Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access. This is not available to third party applications.

Constant Value: "android.permission.BLUETOOTH_PRIVILEGED"

public static final String BODY_SENSORS

Added in API level 20

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

Protection level: dangerous

Constant Value: "android.permission.BODY_SENSORS"

public static final String BROADCAST_PACKAGE_REMOVED

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.BROADCAST_PACKAGE_REMOVED"

public static final String BROADCAST_SMS

Added in API level 2

Allows an application to broadcast an SMS receipt notification.

Not for use by third-party applications.

Constant Value: "android.permission.BROADCAST_SMS"

public static final String BROADCAST_STICKY

Added in API level 1

Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.

Protection level: normal

Constant Value: "android.permission.BROADCAST_STICKY"

public static final String BROADCAST_WAP_PUSH

Added in API level 2

Allows an application to broadcast a WAP PUSH receipt notification.

Not for use by third-party applications.

Constant Value: "android.permission.BROADCAST_WAP_PUSH"

public static final String CALL_PHONE

Added in API level 1

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

Protection level: dangerous

Constant Value: "android.permission.CALL_PHONE"

public static final String CALL_PRIVILEGED

Added in API level 1

Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.

Not for use by third-party applications.

Constant Value: "android.permission.CALL_PRIVILEGED"

public static final String CAMERA

Added in API level 1

Required to be able to access the camera device.

This will automatically enforce the <uses-feature> manifest element for all camera features. If you do not require all camera features or can properly operate if a camera is not available, then you must modify your manifest as appropriate in order to install on devices that don't support all camera features.

Protection level: dangerous

Constant Value: "android.permission.CAMERA"

public static final String CAPTURE_AUDIO_OUTPUT

Added in API level 19

Allows an application to capture audio output.

Not for use by third-party applications.

Constant Value: "android.permission.CAPTURE_AUDIO_OUTPUT"

public static final String CAPTURE_SECURE_VIDEO_OUTPUT

Added in API level 19

Allows an application to capture secure video output.

Not for use by third-party applications.

Constant Value: "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"

public static final String CAPTURE_VIDEO_OUTPUT

Added in API level 19

Allows an application to capture video output.

Not for use by third-party applications.

Constant Value: "android.permission.CAPTURE_VIDEO_OUTPUT"

public static final String CHANGE_COMPONENT_ENABLED_STATE

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.CHANGE_COMPONENT_ENABLED_STATE"

public static final String CHANGE_CONFIGURATION

Added in API level 1

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

Constant Value: "android.permission.CHANGE_CONFIGURATION"

public static final String CHANGE_NETWORK_STATE

Added in API level 1

Allows applications to change network connectivity state.

Protection level: normal

Constant Value: "android.permission.CHANGE_NETWORK_STATE"

public static final String CHANGE_WIFI_MULTICAST_STATE

Added in API level 4

Allows applications to enter Wi-Fi Multicast mode.

Protection level: normal

Constant Value: "android.permission.CHANGE_WIFI_MULTICAST_STATE"

public static final String CHANGE_WIFI_STATE

Added in API level 1

Allows applications to change Wi-Fi connectivity state.

Protection level: normal

Constant Value: "android.permission.CHANGE_WIFI_STATE"

public static final String CLEAR_APP_CACHE

Added in API level 1

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

Protection level: system|signature

Constant Value: "android.permission.CLEAR_APP_CACHE"

public static final String CONTROL_LOCATION_UPDATES

Added in API level 1

Allows enabling/disabling location update notifications from the radio.

Not for use by third-party applications.

Constant Value: "android.permission.CONTROL_LOCATION_UPDATES"

public static final String DELETE_CACHE_FILES

Added in API level 1

Allows an application to delete cache files.

Not for use by third-party applications.

Constant Value: "android.permission.DELETE_CACHE_FILES"

public static final String DELETE_PACKAGES

Added in API level 1

Allows an application to delete packages.

Not for use by third-party applications.

Constant Value: "android.permission.DELETE_PACKAGES"

public static final String DIAGNOSTIC

Added in API level 1

Allows applications to RW to diagnostic resources.

Not for use by third-party applications.

Constant Value: "android.permission.DIAGNOSTIC"

public static final String DISABLE_KEYGUARD

Added in API level 1

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

Protection level: normal

Constant Value: "android.permission.DISABLE_KEYGUARD"

public static final String DUMP

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.DUMP"

public static final String EXPAND_STATUS_BAR

Added in API level 1

Allows an application to expand or collapse the status bar.

Protection level: normal

Constant Value: "android.permission.EXPAND_STATUS_BAR"

public static final String FACTORY_TEST

Added in API level 1

Run as a manufacturer test application, running as the root user. Only available when the device is running in manufacturer test mode.

Not for use by third-party applications.

Constant Value: "android.permission.FACTORY_TEST"

public static final String FLASHLIGHT

Added in API level 1

Allows access to the flashlight.

Protection level: normal

Constant Value: "android.permission.FLASHLIGHT"

public static final String GET_ACCOUNTS

Added in API level 1

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

Note: Beginning with Android 6.0 (API level 23), if an app shares the signature of the authenticator that manages an account, it does not need "GET_ACCOUNTS" permission to read information about that account. On Android 5.1 and lower, all apps need "GET_ACCOUNTS" permission to read information about any account.

Protection level: dangerous

Constant Value: "android.permission.GET_ACCOUNTS"

public static final String GET_ACCOUNTS_PRIVILEGED

Added in API level 23

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

Constant Value: "android.permission.GET_ACCOUNTS_PRIVILEGED"

public static final String GET_PACKAGE_SIZE

Added in API level 1

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

Protection level: normal

Constant Value: "android.permission.GET_PACKAGE_SIZE"

public static final String GET_TASKS

Added in API level 1

This constant was deprecated in API level 21.
No longer enforced.

Constant Value: "android.permission.GET_TASKS"

public static final String GLOBAL_SEARCH

Added in API level 4

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.

Constant Value: "android.permission.GLOBAL_SEARCH"

public static final String INSTALL_LOCATION_PROVIDER

Added in API level 4

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

Not for use by third-party applications.

Constant Value: "android.permission.INSTALL_LOCATION_PROVIDER"

public static final String INSTALL_PACKAGES

Added in API level 1

Allows an application to install packages.

Not for use by third-party applications.

Constant Value: "android.permission.INSTALL_PACKAGES"

public static final String INSTALL_SHORTCUT

Added in API level 19

Allows an application to install a shortcut in Launcher.

Protection level: normal

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

public static final String INTERNET

Added in API level 1

Allows applications to open network sockets.

Protection level: normal

Constant Value: "android.permission.INTERNET"

public static final String KILL_BACKGROUND_PROCESSES

Added in API level 8

Allows an application to call killBackgroundProcesses(String).

Protection level: normal

Constant Value: "android.permission.KILL_BACKGROUND_PROCESSES"

public static final String LOCATION_HARDWARE

Added in API level 18

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

Not for use by third-party applications.

Constant Value: "android.permission.LOCATION_HARDWARE"

public static final String MANAGE_DOCUMENTS

Added in API level 19

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

Protection level: signature

Constant Value: "android.permission.MANAGE_DOCUMENTS"

public static final String MASTER_CLEAR

Added in API level 1

Not for use by third-party applications.

Constant Value: "android.permission.MASTER_CLEAR"

public static final String MEDIA_CONTENT_CONTROL

Added in API level 19

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

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

Constant Value: "android.permission.MEDIA_CONTENT_CONTROL"

public static final String MODIFY_AUDIO_SETTINGS

Added in API level 1

Allows an application to modify global audio settings.

Protection level: normal

Constant Value: "android.permission.MODIFY_AUDIO_SETTINGS"

public static final String MODIFY_PHONE_STATE

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.MODIFY_PHONE_STATE"

public static final String MOUNT_FORMAT_FILESYSTEMS

Added in API level 3

Allows formatting file systems for removable storage.

Not for use by third-party applications.

Constant Value: "android.permission.MOUNT_FORMAT_FILESYSTEMS"

public static final String MOUNT_UNMOUNT_FILESYSTEMS

Added in API level 1

Allows mounting and unmounting file systems for removable storage.

Not for use by third-party applications.

Constant Value: "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"

public static final String NFC

Added in API level 9

Allows applications to perform I/O operations over NFC.

Protection level: normal

Constant Value: "android.permission.NFC"

public static final String PACKAGE_USAGE_STATS

Added in API level 23

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.

Constant Value: "android.permission.PACKAGE_USAGE_STATS"

public static final String PERSISTENT_ACTIVITY

Added in API level 1

This constant was deprecated in API level 9.
This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.

Constant Value: "android.permission.PERSISTENT_ACTIVITY"

public static final String PROCESS_OUTGOING_CALLS

Added in API level 1

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

Constant Value: "android.permission.PROCESS_OUTGOING_CALLS"

public static final String READ_CALENDAR

Added in API level 1

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

Protection level: dangerous

Constant Value: "android.permission.READ_CALENDAR"

public static final String READ_CALL_LOG

Added in API level 16

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

Constant Value: "android.permission.READ_CALL_LOG"

public static final String READ_CONTACTS

Added in API level 1

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

Protection level: dangerous

Constant Value: "android.permission.READ_CONTACTS"

public static final String READ_EXTERNAL_STORAGE

Added in API level 16

Allows an application to read from external storage.

Any app that declares the WRITE_EXTERNAL_STORAGE permission is implicitly granted this permission.

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/write files in your application-specific directories returned by getExternalFilesDir(String) and getExternalCacheDir().

Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 4 or higher.

Protection level: dangerous

Constant Value: "android.permission.READ_EXTERNAL_STORAGE"

public static final String READ_FRAME_BUFFER

Added in API level 1

Allows an application to take screen shots and more generally get access to the frame buffer data.

Not for use by third-party applications.

Constant Value: "android.permission.READ_FRAME_BUFFER"

public static final String READ_INPUT_STATE

Added in API level 1

This constant was deprecated in API level 16.
The API that used this permission has been removed.

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

Not for use by third-party applications.

Constant Value: "android.permission.READ_INPUT_STATE"

public static final String READ_LOGS

Added in API level 1

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

Not for use by third-party applications, because Log entries can contain the user's private information.

Constant Value: "android.permission.READ_LOGS"

public static final String READ_PHONE_STATE

Added in API level 1

Allows read only access to phone state.

Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly grants your app this permission. If you don't need this permission, be sure your targetSdkVersion is 4 or higher.

Protection level: dangerous

Constant Value: "android.permission.READ_PHONE_STATE"

public static final String READ_SMS

Added in API level 1

Allows an application to read SMS messages.

Protection level: dangerous

Constant Value: "android.permission.READ_SMS"

public static final String READ_SYNC_SETTINGS

Added in API level 1

Allows applications to read the sync settings.

Protection level: normal

Constant Value: "android.permission.READ_SYNC_SETTINGS"

public static final String READ_SYNC_STATS

Added in API level 1

Allows applications to read the sync stats.

Protection level: normal

Constant Value: "android.permission.READ_SYNC_STATS"

public static final String READ_VOICEMAIL

Added in API level 21

Allows an application to read voicemails in the system.

Protection level: system|signature

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

public static final String REBOOT

Added in API level 1

Required to be able to reboot the device.

Not for use by third-party applications.

Constant Value: "android.permission.REBOOT"

public static final String RECEIVE_BOOT_COMPLETED

Added in API level 1

Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. If you don't request this permission, you will not receive the broadcast at that time. Though holding this permission does not have any security implications, it can have a negative impact on the user experience by increasing the amount of time it takes the system to start and allowing applications to have themselves running without the user being aware of them. As such, you must explicitly declare your use of this facility to make that visible to the user.

Protection level: normal

Constant Value: "android.permission.RECEIVE_BOOT_COMPLETED"

public static final String RECEIVE_MMS

Added in API level 1

Allows an application to monitor incoming MMS messages.

Protection level: dangerous

Constant Value: "android.permission.RECEIVE_MMS"

public static final String RECEIVE_SMS

Added in API level 1

Allows an application to receive SMS messages.

Protection level: dangerous

Constant Value: "android.permission.RECEIVE_SMS"

public static final String RECEIVE_WAP_PUSH

Added in API level 1

Allows an application to receive WAP push messages.

Protection level: dangerous

Constant Value: "android.permission.RECEIVE_WAP_PUSH"

public static final String RECORD_AUDIO

Added in API level 1

Allows an application to record audio.

Protection level: dangerous

Constant Value: "android.permission.RECORD_AUDIO"

public static final String REORDER_TASKS

Added in API level 1

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

Protection level: normal

Constant Value: "android.permission.REORDER_TASKS"

public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

Added in API level 23

Permission an application must hold in order to use ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. This is a normal permission: an app requesting it will always be granted the permission, without the user needing to approve or see it.

Constant Value: "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"

public static final String REQUEST_INSTALL_PACKAGES

Added in API level 23

Allows an application to request installing packages. Apps targeting APIs greater than 22 must hold this permission in order to use ACTION_INSTALL_PACKAGE.

Protection level: normal

Constant Value: "android.permission.REQUEST_INSTALL_PACKAGES"

public static final String RESTART_PACKAGES

Added in API level 1

This constant was deprecated in API level 8.
The restartPackage(String) API is no longer supported.

Constant Value: "android.permission.RESTART_PACKAGES"

public static final String SEND_RESPOND_VIA_MESSAGE

Added in API level 18

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

Not for use by third-party applications.

Constant Value: "android.permission.SEND_RESPOND_VIA_MESSAGE"

public static final String SEND_SMS

Added in API level 1

Allows an application to send SMS messages.

Protection level: dangerous

Constant Value: "android.permission.SEND_SMS"

public static final String SET_ALARM

Added in API level 9

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

Protection level: normal

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

public static final String SET_ALWAYS_FINISH

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.SET_ALWAYS_FINISH"

public static final String SET_ANIMATION_SCALE

Added in API level 1

Modify the global animation scaling factor.

Not for use by third-party applications.

Constant Value: "android.permission.SET_ANIMATION_SCALE"

public static final String SET_DEBUG_APP

Added in API level 1

Configure an application for debugging.

Not for use by third-party applications.

Constant Value: "android.permission.SET_DEBUG_APP"

public static final String SET_PREFERRED_APPLICATIONS

Added in API level 1

This constant was deprecated in API level 7.
No longer useful, see addPackageToPreferred(String) for details.

Constant Value: "android.permission.SET_PREFERRED_APPLICATIONS"

public static final String SET_PROCESS_LIMIT

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.SET_PROCESS_LIMIT"

public static final String SET_TIME

Added in API level 8

Allows applications to set the system time.

Not for use by third-party applications.

Constant Value: "android.permission.SET_TIME"

public static final String SET_TIME_ZONE

Added in API level 1

Allows applications to set the system time zone.

Protection level: normal

Constant Value: "android.permission.SET_TIME_ZONE"

public static final String SET_WALLPAPER

Added in API level 1

Allows applications to set the wallpaper.

Protection level: normal

Constant Value: "android.permission.SET_WALLPAPER"

public static final String SET_WALLPAPER_HINTS

Added in API level 1

Allows applications to set the wallpaper hints.

Protection level: normal

Constant Value: "android.permission.SET_WALLPAPER_HINTS"

public static final String SIGNAL_PERSISTENT_PROCESSES

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.SIGNAL_PERSISTENT_PROCESSES"

public static final String STATUS_BAR

Added in API level 1

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

Not for use by third-party applications.

Constant Value: "android.permission.STATUS_BAR"

public static final String SYSTEM_ALERT_WINDOW

Added in API level 1

Allows an app to create windows using the type TYPE_SYSTEM_ALERT, 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 ACTION_MANAGE_OVERLAY_PERMISSION. The app can check whether it has this authorization by calling Settings.canDrawOverlays().

Protection level: signature

Constant Value: "android.permission.SYSTEM_ALERT_WINDOW"

public static final String TRANSMIT_IR

Added in API level 19

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

Protection level: normal

Constant Value: "android.permission.TRANSMIT_IR"

public static final String UNINSTALL_SHORTCUT

Added in API level 19

Allows an application to uninstall a shortcut in Launcher.

Protection level: normal

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

public static final String UPDATE_DEVICE_STATS

Added in API level 3

Allows an application to update device statistics.

Not for use by third-party applications.

Constant Value: "android.permission.UPDATE_DEVICE_STATS"

public static final String USE_FINGERPRINT

Added in API level 23

Allows an app to use fingerprint hardware.

Protection level: normal

Constant Value: "android.permission.USE_FINGERPRINT"

public static final String USE_SIP

Added in API level 9

Allows an application to use SIP service.

Protection level: dangerous

Constant Value: "android.permission.USE_SIP"

public static final String VIBRATE

Added in API level 1

Allows access to the vibrator.

Protection level: normal

Constant Value: "android.permission.VIBRATE"

public static final String WAKE_LOCK

Added in API level 1

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

Protection level: normal

Constant Value: "android.permission.WAKE_LOCK"

public static final String WRITE_APN_SETTINGS

Added in API level 1

Allows applications to write the apn settings.

Not for use by third-party applications.

Constant Value: "android.permission.WRITE_APN_SETTINGS"

public static final String WRITE_CALENDAR

Added in API level 1

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

Protection level: dangerous

Constant Value: "android.permission.WRITE_CALENDAR"

public static final String WRITE_CALL_LOG

Added in API level 16

Allows an application to write (but not read) the user's contacts 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

Constant Value: "android.permission.WRITE_CALL_LOG"

public static final String WRITE_CONTACTS

Added in API level 1

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

Protection level: dangerous

Constant Value: "android.permission.WRITE_CONTACTS"

public static final String WRITE_EXTERNAL_STORAGE

Added in API level 4

Allows an application to write to external storage.

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.

Starting in API level 19, this permission is not required to read/write files in your application-specific directories returned by getExternalFilesDir(String) and getExternalCacheDir().

Protection level: dangerous

Constant Value: "android.permission.WRITE_EXTERNAL_STORAGE"

public static final String WRITE_GSERVICES

Added in API level 1

Allows an application to modify the Google service map.

Not for use by third-party applications.

Constant Value: "android.permission.WRITE_GSERVICES"

public static final String WRITE_SECURE_SETTINGS

Added in API level 3

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

Not for use by third-party applications.

Constant Value: "android.permission.WRITE_SECURE_SETTINGS"

public static final String WRITE_SETTINGS

Added in API level 1

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 ACTION_MANAGE_WRITE_SETTINGS. The app can check whether it has this authorization by calling Settings.System.canWrite().

Protection level: signature

Constant Value: "android.permission.WRITE_SETTINGS"

public static final String WRITE_SYNC_SETTINGS

Added in API level 1

Allows applications to write the sync settings.

Protection level: normal

Constant Value: "android.permission.WRITE_SYNC_SETTINGS"

public static final String WRITE_VOICEMAIL

Added in API level 21

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

Protection level: system|signature

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

Public Constructors

public Manifest.permission ()

Added in API level 1