Permission | Protection |
---|---|
android.permission.ACCESS_CHECKIN_PROPERTIESAPI level 1Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded. |
system |
android.permission.ACCESS_COARSE_LOCATIONAPI level 1Allows an app to access approximate location. |
dangerous |
android.permission.ACCESS_FINE_LOCATIONAPI level 1Allows an app to access precise location. |
dangerous |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDSAPI level 1Allows an application to access extra location provider commands |
|
android.permission.ACCESS_NETWORK_STATEAPI level 1Allows applications to access information about networks |
|
android.permission.ACCESS_NOTIFICATION_POLICYAPI level 23Marker permission for applications that wish to access notification policy. |
|
android.permission.ACCESS_WIFI_STATEAPI level 1Allows applications to access information about Wi-Fi networks. |
|
android.permission.ACCOUNT_MANAGERAPI level 5Allows applications to call into AccountAuthenticators. |
system |
com.android.voicemail.permission.ADD_VOICEMAILAPI level 14Allows an application to add voicemails into the system. |
dangerous |
android.permission.BATTERY_STATSAPI level 1Allows an application to collect battery statistics |
|
android.permission.BIND_ACCESSIBILITY_SERVICEAPI level 16Must be required by an AccessibilityService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_APPWIDGETAPI level 3Allows 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. |
system |
android.permission.BIND_CARRIER_MESSAGING_SERVICEAPI level 22 |
|
android.permission.BIND_CARRIER_SERVICESAPI level 23The 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. |
system|signature |
android.permission.BIND_CHOOSER_TARGET_SERVICEAPI level 23Must be required by a ChooserTargetService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_DEVICE_ADMINAPI level 8Must be required by device administration receiver, to ensure that only the system can interact with it. |
signature |
android.permission.BIND_DREAM_SERVICEAPI level 21Must be required by an DreamService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_INCALL_SERVICEAPI level 23Must be required by a InCallService, to ensure that only the system can bind to it. |
system|signature |
android.permission.BIND_INPUT_METHODAPI level 3Must be required by an InputMethodService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_MIDI_DEVICE_SERVICEAPI level 23Must be required by an MidiDeviceService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_NFC_SERVICEAPI level 19Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it. |
signature |
android.permission.BIND_NOTIFICATION_LISTENER_SERVICEAPI level 18Must be required by an NotificationListenerService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_PRINT_SERVICEAPI level 19Must be required by a PrintService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_REMOTEVIEWSAPI level 11Must be required by a RemoteViewsService, to ensure that only the system can bind to it. |
|
android.permission.BIND_TELECOM_CONNECTION_SERVICEAPI level 23Must be required by a ConnectionService, to ensure that only the system can bind to it. |
system|signature |
android.permission.BIND_TEXT_SERVICEAPI level 14Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it. |
signature |
android.permission.BIND_TV_INPUTAPI level 21Must be required by a TvInputService to ensure that only the system can bind to it. |
signature |
android.permission.BIND_VOICE_INTERACTIONAPI level 21Must be required by a VoiceInteractionService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_VPN_SERVICEAPI level 14Must be required by a VpnService, to ensure that only the system can bind to it. |
signature |
android.permission.BIND_WALLPAPERAPI level 8Must be required by a WallpaperService, to ensure that only the system can bind to it. |
system|signature |
android.permission.BLUETOOTHAPI level 1Allows applications to connect to paired bluetooth devices. |
|
android.permission.BLUETOOTH_ADMINAPI level 1Allows applications to discover and pair bluetooth devices. |
|
android.permission.BLUETOOTH_PRIVILEGEDAPI level 19Allows 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. |
|
android.permission.BODY_SENSORSAPI level 20Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate. |
dangerous |
android.permission.BROADCAST_PACKAGE_REMOVEDAPI level 1Allows an application to broadcast a notification that an application package has been removed. |
system |
android.permission.BROADCAST_SMSAPI level 2Allows an application to broadcast an SMS receipt notification. |
system |
android.permission.BROADCAST_STICKYAPI level 1Allows 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. |
|
android.permission.BROADCAST_WAP_PUSHAPI level 2Allows an application to broadcast a WAP PUSH receipt notification. |
system |
android.permission.CALL_PHONEAPI level 1Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call. |
dangerous |
android.permission.CALL_PRIVILEGEDAPI level 1Allows 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. |
system |
android.permission.CAMERAAPI level 1Required to be able to access the camera device. |
This will automatically enforce the |
android.permission.CAPTURE_AUDIO_OUTPUTAPI level 19Allows an application to capture audio output. |
system |
android.permission.CAPTURE_SECURE_VIDEO_OUTPUTAPI level 19Allows an application to capture secure video output. |
system |
android.permission.CAPTURE_VIDEO_OUTPUTAPI level 19Allows an application to capture video output. |
system |
android.permission.CHANGE_COMPONENT_ENABLED_STATEAPI level 1Allows an application to change whether an application component (other than its own) is enabled or not. |
system |
android.permission.CHANGE_CONFIGURATIONAPI level 1Allows an application to modify the current configuration, such as locale. |
|
android.permission.CHANGE_NETWORK_STATEAPI level 1Allows applications to change network connectivity state. |
|
android.permission.CHANGE_WIFI_MULTICAST_STATEAPI level 4Allows applications to enter Wi-Fi Multicast mode. |
|
android.permission.CHANGE_WIFI_STATEAPI level 1Allows applications to change Wi-Fi connectivity state. |
|
android.permission.CLEAR_APP_CACHEAPI level 1Allows an application to clear the caches of all installed applications on the device. |
system|signature |
android.permission.CONTROL_LOCATION_UPDATESAPI level 1Allows enabling/disabling location update notifications from the radio. |
system |
android.permission.DELETE_CACHE_FILESAPI level 1Allows an application to delete cache files. |
system |
android.permission.DELETE_PACKAGESAPI level 1Allows an application to delete packages. |
system |
android.permission.DIAGNOSTICAPI level 1Allows applications to RW to diagnostic resources. |
system |
android.permission.DISABLE_KEYGUARDAPI level 1Allows applications to disable the keyguard if it is not secure. |
|
android.permission.DUMPAPI level 1Allows an application to retrieve state dump information from system services. |
system |
android.permission.EXPAND_STATUS_BARAPI level 1Allows an application to expand or collapse the status bar. |
|
android.permission.FACTORY_TESTAPI level 1Run as a manufacturer test application, running as the root user. Only available when the device is running in manufacturer test mode. |
system |
android.permission.FLASHLIGHTAPI level 1Allows access to the flashlight. |
|
android.permission.GET_ACCOUNTSAPI level 1Allows access to the list of accounts in the Accounts Service. |
|
android.permission.GET_ACCOUNTS_PRIVILEGEDAPI level 23Allows access to the list of accounts in the Accounts Service. |
|
android.permission.GET_PACKAGE_SIZEAPI level 1Allows an application to find out the space used by any package. |
|
android.permission.GET_TASKSAPI level 1 |
|
android.permission.GLOBAL_SEARCHAPI level 4This 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. |
|
android.permission.INSTALL_LOCATION_PROVIDERAPI level 4Allows an application to install a location provider into the Location Manager. |
system |
android.permission.INSTALL_PACKAGESAPI level 1Allows an application to install packages. |
system |
com.android.launcher.permission.INSTALL_SHORTCUTAPI level 19Allows an application to install a shortcut in Launcher. |
|
android.permission.INTERNETAPI level 1Allows applications to open network sockets. |
|
android.permission.KILL_BACKGROUND_PROCESSESAPI level 8Allows an application to call killBackgroundProcesses(String). |
|
android.permission.LOCATION_HARDWAREAPI level 18Allows an application to use location features in hardware, such as the geofencing api. |
system |
android.permission.MANAGE_DOCUMENTSAPI level 19Allows an application to manage access to documents, usually as part of a document picker. |
signature |
android.permission.MASTER_CLEARAPI level 1Not for use by third-party applications. |
|
android.permission.MEDIA_CONTENT_CONTROLAPI level 19Allows 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 |
android.permission.MODIFY_AUDIO_SETTINGSAPI level 1Allows an application to modify global audio settings. |
|
android.permission.MODIFY_PHONE_STATEAPI level 1Allows modification of the telephony state - power on, mmi, etc. Does not include placing calls. |
system |
android.permission.MOUNT_FORMAT_FILESYSTEMSAPI level 3Allows formatting file systems for removable storage. |
system |
android.permission.MOUNT_UNMOUNT_FILESYSTEMSAPI level 1Allows mounting and unmounting file systems for removable storage. |
system |
android.permission.NFCAPI level 9Allows applications to perform I/O operations over NFC. |
|
android.permission.PACKAGE_USAGE_STATSAPI level 23Allows 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. |
android.permission.PERSISTENT_ACTIVITYAPI level 1 |
|
android.permission.PROCESS_OUTGOING_CALLSAPI level 1Allows 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. |
dangerous |
android.permission.READ_CALENDARAPI level 1Allows an application to read the user's calendar data. |
dangerous |
android.permission.READ_CALL_LOGAPI level 16Allows an application to read the user's call log. |
dangerous |
android.permission.READ_CONTACTSAPI level 1Allows an application to read the user's contacts data. |
dangerous |
android.permission.READ_EXTERNAL_STORAGEAPI level 16Allows an application to read from external storage. |
Any app that declares the WRITE_EXTERNAL_STORAGE permission is implicitly granted this permission. |
android.permission.READ_FRAME_BUFFERAPI level 1Allows an application to take screen shots and more generally get access to the frame buffer data. |
system |
android.permission.READ_INPUT_STATEAPI level 1Allows an application to retrieve the current state of keys and switches. |
system |
android.permission.READ_LOGSAPI level 1Allows 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. |
android.permission.READ_PHONE_STATEAPI level 1Allows read only access to phone state. |
dangerous |
android.permission.READ_SMSAPI level 1Allows an application to read SMS messages. |
dangerous |
android.permission.READ_SYNC_SETTINGSAPI level 1Allows applications to read the sync settings. |
|
android.permission.READ_SYNC_STATSAPI level 1Allows applications to read the sync stats. |
|
com.android.voicemail.permission.READ_VOICEMAILAPI level 21Allows an application to read voicemails in the system. |
system|signature |
android.permission.REBOOTAPI level 1Required to be able to reboot the device. |
system |
android.permission.RECEIVE_BOOT_COMPLETEDAPI level 1Allows 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. |
|
android.permission.RECEIVE_MMSAPI level 1Allows an application to monitor incoming MMS messages. |
dangerous |
android.permission.RECEIVE_SMSAPI level 1Allows an application to receive SMS messages. |
dangerous |
android.permission.RECEIVE_WAP_PUSHAPI level 1Allows an application to receive WAP push messages. |
dangerous |
android.permission.RECORD_AUDIOAPI level 1Allows an application to record audio. |
dangerous |
android.permission.REORDER_TASKSAPI level 1Allows an application to change the Z-order of tasks. |
|
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONSAPI level 23Permission 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. |
|
android.permission.REQUEST_INSTALL_PACKAGESAPI level 23Allows an application to request installing packages. Apps targeting APIs greater than 22 must hold this permission in order to use ACTION_INSTALL_PACKAGE. |
|
android.permission.RESTART_PACKAGESAPI level 1 |
|
android.permission.SEND_RESPOND_VIA_MESSAGEAPI level 18Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls. |
system |
android.permission.SEND_SMSAPI level 1Allows an application to send SMS messages. |
dangerous |
com.android.alarm.permission.SET_ALARMAPI level 9Allows an application to broadcast an Intent to set an alarm for the user. |
|
android.permission.SET_ALWAYS_FINISHAPI level 1Allows an application to control whether activities are immediately finished when put in the background. |
system |
android.permission.SET_ANIMATION_SCALEAPI level 1Modify the global animation scaling factor. |
system |
android.permission.SET_DEBUG_APPAPI level 1Configure an application for debugging. |
system |
android.permission.SET_PREFERRED_APPLICATIONSAPI level 1 |
|
android.permission.SET_PROCESS_LIMITAPI level 1Allows an application to set the maximum number of (not needed) application processes that can be running. |
system |
android.permission.SET_TIMEAPI level 8Allows applications to set the system time. |
system |
android.permission.SET_TIME_ZONEAPI level 1Allows applications to set the system time zone. |
|
android.permission.SET_WALLPAPERAPI level 1Allows applications to set the wallpaper. |
|
android.permission.SET_WALLPAPER_HINTSAPI level 1Allows applications to set the wallpaper hints. |
|
android.permission.SIGNAL_PERSISTENT_PROCESSESAPI level 1Allow an application to request that a signal be sent to all persistent processes. |
system |
android.permission.STATUS_BARAPI level 1Allows an application to open, close, or disable the status bar and its icons. |
system |
android.permission.SYSTEM_ALERT_WINDOWAPI level 1Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications. Very few applications should use this permission; these windows are intended for system-level interaction with the user. |
|
android.permission.TRANSMIT_IRAPI level 19Allows using the device's IR transmitter, if available. |
|
com.android.launcher.permission.UNINSTALL_SHORTCUTAPI level 19Allows an application to uninstall a shortcut in Launcher. |
|
android.permission.UPDATE_DEVICE_STATSAPI level 3Allows an application to update device statistics. |
system |
android.permission.USE_FINGERPRINTAPI level 23Allows an app to use fingerprint hardware. |
|
android.permission.USE_SIPAPI level 9Allows an application to use SIP service. |
dangerous |
android.permission.VIBRATEAPI level 1Allows access to the vibrator. |
|
android.permission.WAKE_LOCKAPI level 1Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming. |
|
android.permission.WRITE_APN_SETTINGSAPI level 1Allows applications to write the apn settings. |
system |
android.permission.WRITE_CALENDARAPI level 1Allows an application to write the user's calendar data. |
dangerous |
android.permission.WRITE_CALL_LOGAPI level 16Allows an application to write (but not read) the user's contacts data. |
dangerous |
android.permission.WRITE_CONTACTSAPI level 1Allows an application to write the user's contacts data. |
dangerous |
android.permission.WRITE_EXTERNAL_STORAGEAPI level 4Allows an application to write to external storage. |
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(). |
android.permission.WRITE_GSERVICESAPI level 1Allows an application to modify the Google service map. |
system |
android.permission.WRITE_SECURE_SETTINGSAPI level 3Allows an application to read or write the secure system settings. |
system |
android.permission.WRITE_SETTINGSAPI level 1Allows an application to read or write the system settings. |
signature |
android.permission.WRITE_SYNC_SETTINGSAPI level 1Allows applications to write the sync settings. |
|
com.android.voicemail.permission.WRITE_VOICEMAILAPI level 21Allows an application to modify and remove existing voicemails in the system |
system|signature |