Skip to main content

Types of permissions

General information

All the permissions that are required by your app are subject to primarily check once added to the RuStore Console.

The developer is obliged to declare all permissions, except for Normal, i.e.Dangerous, Special, Signature.

The apps that use permissions from the “Not for use by third-party applications” category will be blocked automatically.

Dangerous, Special and Signature permissions are considered altogether as “Dangerous permissions”.

All the available permissions are listed below.

Permission levels

LevelNameDescription
Not for use by third-party applicationsACCESS_CHECKIN_PROPERTIESAllows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
ACCOUNT_MANAGERAllows applications to call into AccountAuthenticators.
BIND_APPWIDGETAllows an application to tell the AppWidget service which application can access AppWidget's data.
BLUETOOTH_PRIVILEGEDAllows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
BROADCAST_PACKAGE_REMOVEDAllows an application to broadcast a notification that an application package has been removed.
BROADCAST_SMSAllows an application to broadcast an SMS receipt notification.
CALL_PRIVILEGEDAllows 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.
CAPTURE_AUDIO_OUTPUTAllows an application to capture audio output.
CHANGE_COMPONENT_ENABLED_STATEAllows an application to change whether an application component (other than its own) is enabled or not.
CONTROL_LOCATION_UPDATESAllows enabling/disabling location update notifications from the radio.
DELETE_PACKAGESAllows an application to delete packages.
DIAGNOSTICAllows applications to RW to diagnostic resources.
FACTORY_TESTRun as a manufacturer test application, running as the root user.
INSTALL_LOCATION_PROVIDERAllows an application to install a location provider into the Location Manager.
INSTALL_PACKAGESAllows an application to install packages.
LOCATION_HARDWAREAllows an application to use location features in hardware, such as the geofencing api.
MANAGE_WIFI_INTERFACESAllows 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.
MANAGE_WIFI_NETWORK_SELECTIONThis permission is used to let OEMs grant their trusted app access to a subset of privileged wifi APIs to improve wifi performance.
MASTER_CLEARNot for use by third-party applications.
MEDIA_CONTENT_CONTROLAllows an application to know what content is playing and control its playback.
MODIFY_PHONE_STATEAllows modification of the telephony state - power on, mmi, etc.
MOUNT_FORMAT_FILESYSTEMSAllows formatting file systems for removable storage.
MOUNT_UNMOUNT_FILESYSTEMSAllows mounting and unmounting file systems for removable storage.
OVERRIDE_WIFI_CONFIGAllows an application to modify any wifi configuration, even if created by another application.
READ_INPUT_STATEThis constant was deprecated in API level 16. The API that used this permission has been removed.
READ_LOGSAllows an application to read the low-level system log files.
REBOOTRequired to be able to reboot the device.
REQUEST_COMPANION_PROFILE_APP_STREAMINGAllows application to request to be associated with a virtual display capable of streaming Android applications (AssociationRequest.DEVICE_PROFILE_APP_STREAMING) by CompanionDeviceManager.
REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTIONAllows application to request to be associated with a vehicle head unit capable of automotive projection (AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION) by CompanionDeviceManager.
REQUEST_COMPANION_PROFILE_COMPUTERAllows application to request to be associated with a computer to share functionality and/or data with other devices, such as notifications, photos and media (AssociationRequest.DEVICE_PROFILE_COMPUTER) by CompanionDeviceManager.
SEND_RESPOND_VIA_MESSAGEAllows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
SET_ALWAYS_FINISHAllows an application to control whether activities are immediately finished when put in the background.
SET_ANIMATION_SCALEModify the global animation scaling factor.
SET_DEBUG_APPConfigure an application for debugging.
SET_PROCESS_LIMITAllows an application to set the maximum number of (not needed) application processes that can be running.
SET_TIMEAllows applications to set the system time directly.
SET_TIME_ZONEAllows applications to set the system time zone directly.
SIGNAL_PERSISTENT_PROCESSESAllow an application to request that a signal be sent to all persistent processes.
START_FOREGROUND_SERVICES_FROM_BACKGROUNDAllows an application to start foreground services from the background at any time.
STATUS_BARAllows an application to open, close, or disable the status bar and its icons.
UNINSTALL_SHORTCUTDon't use this permission in your app.
UPDATE_DEVICE_STATSAllows an application to update device statistics.
WRITE_APN_SETTINGSAllows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.
WRITE_GSERVICESAllows an application to modify the Google service map.
WRITE_SECURE_SETTINGSAllows an application to read or write the secure system settings.
DangerousACCEPT_HANDOVERAllows a calling app to continue a call which was started in another app.
ACCESS_BACKGROUND_LOCATIONAllows an app to access location in the background.
ACCESS_COARSE_LOCATIONAllows an app to access approximate location.
ACCESS_FINE_LOCATIONAllows an app to access precise location.
ACCESS_MEDIA_LOCATIONAllows an application to access any geographic locations persisted in the user's shared collection.
ACTIVITY_RECOGNITIONAllows an application to recognize physical activity.
ADD_VOICEMAILAllows an application to add voicemails into the system.
ANSWER_PHONE_CALLSAllows the app to answer an incoming phone call.
BLUETOOTH_ADVERTISERequired to be able to advertise to nearby Bluetooth devices.
BLUETOOTH_CONNECTRequired to be able to connect to paired Bluetooth devices.
BLUETOOTH_SCANRequired to be able to discover and pair nearby Bluetooth devices.
BODY_SENSORSAllows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
BODY_SENSORS_BACKGROUNDAllows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
CALL_PHONEAllows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.
CAMERARequired to be able to access the camera device.
DUMPAllows an application to retrieve state dump information from system services.
GET_ACCOUNTSAllows access to the list of accounts in the Accounts Service.
NEARBY_WIFI_DEVICESAllows an instant app to create foreground services.
POST_NOTIFICATIONSAllows interaction across profiles in the same profile group.
PROCESS_OUTGOING_CALLSThis constant was deprecated in API level 29.
READ_CALENDARAllows an application to read the user's calendar data.
READ_CALL_LOGAllows an application to read the user's call log.
READ_CONTACTSAllows an application to read the user's contacts data.
READ_EXTERNAL_STORAGEAllows an application to read from external storage.
READ_MEDIA_AUDIOAllows an application to read audio files from external storage.
READ_MEDIA_IMAGESAllows an application to read image files from external storage.
READ_MEDIA_VIDEOAllows an application to read video files from external storage.
READ_PHONE_NUMBERSAllows read access to the device's phone number(s).
READ_PHONE_STATEAllows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.
READ_SMSAllows an application to read SMS messages.
RECEIVE_MMSAllows an application to monitor incoming MMS messages.
RECEIVE_SMSAllows an application to read SMS messages.
RECEIVE_WAP_PUSHAllows an application to receive WAP push messages.
RECORD_AUDIOAllows an application to record audio.
SEND_SMSAllows an application to send SMS messages.
USE_SIPAllows an application to use SIP service.
UWB_RANGINGRequired to be able to range to devices using ultra-wideband.
WRITE_CALENDARAllows an application to write the user's calendar data.
WRITE_CALL_LOGAllows an application to write (but not read) the user's call log data.
WRITE_CONTACTSAllows an application to write the user's contacts data.
WRITE_EXTERNAL_STORAGEAllows an application to write to external storage.
ACCESS_BLOBS_ACROSS_USERSAllows an application to access data blobs across users.
BATTERY_STATSAllows an application to collect battery statistics
BIND_ACCESSIBILITY_SERVICEMust be required by an AccessibilityService, to ensure that only the system can bind to it.
BIND_AUTOFILL_SERVICEMust be required by a AutofillService, to ensure that only the system can bind to it.
BIND_CALL_REDIRECTION_SERVICEMust be required by a CallRedirectionService, to ensure that only the system can bind to it.
BIND_CARRIER_MESSAGING_CLIENT_SERVICEA subclass of CarrierMessagingClientService must be protected with this permission.
BIND_CARRIER_SERVICESThe system process that is allowed to bind to services in carrier apps will have this permission.
BIND_CHOOSER_TARGET_SERVICEThis constant was deprecated in API level 30. For publishing direct share targets, please follow the instructions in https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets instead.
BIND_COMPANION_DEVICE_SERVICEMust be required by any CompanionDeviceServices to ensure that only the system can bind to it.
BIND_CONDITION_PROVIDER_SERVICEMust be required by a ConditionProviderService, to ensure that only the system can bind to it.
BIND_CONTROLSAllows SystemUI to request third party controls.
BIND_DEVICE_ADMINMust be required by device administration receiver, to ensure that only the system can interact with it.
BIND_DREAM_SERVICEMust be required by an DreamService, to ensure that only the system can bind to it.
BIND_INCALL_SERVICEMust be required by a InCallService, to ensure that only the system can bind to it.
BIND_INPUT_METHODMust be required by an InputMethodService, to ensure that only the system can bind to it.
BIND_MIDI_DEVICE_SERVICEMust be required by an MidiDeviceService, to ensure that only the system can bind to it.
BIND_NFC_SERVICEMust be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
BIND_NOTIFICATION_LISTENER_SERVICEMust be required by an NotificationListenerService, to ensure that only the system can bind to it.
BIND_PRINT_SERVICEMust be required by a PrintService, to ensure that only the system can bind to it.
BIND_QUICK_ACCESS_WALLET_SERVICEMust be required by a QuickAccessWalletService to ensure that only the system can bind to it.
BIND_QUICK_SETTINGS_TILEAllows an application to bind to third party quick settings tiles.
BIND_REMOTEVIEWSMust be required by a RemoteViewsService, to ensure that only the system can bind to it.
BIND_SCREENING_SERVICEMust be required by a CallScreeningService, to ensure that only the system can bind to it.
BIND_TELECOM_CONNECTION_SERVICEMust be required by a ConnectionService, to ensure that only the system can bind to it.
BIND_TEXT_SERVICEMust be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.
BIND_TV_INPUTMust be required by a TvInputService to ensure that only the system can bind to it.
BIND_TV_INTERACTIVE_APPMust be required by a TvInteractiveAppService to ensure that only the system can bind to it.
BIND_VISUAL_VOICEMAIL_SERVICEMust be required by a link VisualVoicemailService to ensure that only the system can bind to it.
BIND_VOICE_INTERACTIONMust be required by a VoiceInteractionService, to ensure that only the system can bind to it.
BIND_VPN_SERVICEMust be required by a VpnService, to ensure that only the system can bind to it.
BIND_VR_LISTENER_SERVICEMust be required by an VrListenerService, to ensure that only the system can bind to it.
BIND_WALLPAPERMust be required by a WallpaperService, to ensure that only the system can bind to it.
CHANGE_CONFIGURATIONAllows an application to modify the current configuration, such as locale.
CLEAR_APP_CACHEAllows an application to clear the caches of all installed applications on the device.
DELETE_CACHE_FILESOld permission for deleting an app's cache files, no longer used, but signals for us to quietly ignore calls instead of throwing an exception.
GET_ACCOUNTS_PRIVILEGEDAllows access to the list of accounts in the Accounts Service.
GLOBAL_SEARCHThis permission can be used on content providers to allow the global search system to access their data.
INSTANT_APP_FOREGROUND_SERVICEAllows an instant app to create foreground services.
INTERACT_ACROSS_PROFILESAllows interaction across profiles in the same profile group.
LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINKAn application needs this permission forSettings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY to show its Activityembedded in Settings app.
LOADER_USAGE_STATSAllows a data loader to read a package's access logs.
MANAGE_DOCUMENTSAllows an application to manage access to documents, usually as part of a document picker.
MANAGE_EXTERNAL_STORAGEAllows an application a broad access to external storage in scoped storage.
MANAGE_MEDIAAllows an application to modify and delete media files on this device or any connected storage device without user confirmation.
MANAGE_ONGOING_CALLSAllows to query ongoing call details and manage ongoing calls.
PACKAGE_USAGE_STATSAllows an application to collect component usage statistics.
READ_ASSISTANT_APP_SEARCH_DATAAllows an application to query over global data in AppSearch that's visible to the ASSISTANT role.
READ_HOME_APP_SEARCH_DATAAllows an application to query over global data in AppSearch that's visible to the HOME role.
READ_PRECISE_PHONE_STATEAllows read only access to precise phone state.
READ_VOICEMAILAllows an application to read voicemails in the system.
REQUEST_COMPANION_SELF_MANAGEDAllows an application to create a "self-managed" association.
REQUEST_INSTALL_PACKAGESAllows an application to request installing packages.
SCHEDULE_EXACT_ALARMAllows applications to use exact alarm APIs.
START_VIEW_APP_FEATURESAllows the holder to start the screen with a list of app features.
START_VIEW_PERMISSION_USAGEAllows the holder to start the permission usage screen for an app.
SUBSCRIBE_TO_KEYGUARD_LOCKED_STATEAllows an application to subscribe to keyguard locked (i.e., showing) state.
SYSTEM_ALERT_WINDOWAllows an app to create windows using the typeWindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps.
USE_ICC_AUTH_WITH_DEVICE_IDENTIFIERAllows to read device identifiers and use ICC based authentication like EAP-AKA.
WRITE_SETTINGSAllows an application to read or write the system settings.
WRITE_VOICEMAILAllows an application to modify and remove existing voicemails in the system.
NormalACCESS_LOCATION_EXTRA_COMMANDSAllows an application to access extra location provider commands.
BLUETOOTHAllows applications to connect to paired bluetooth devices.
BLUETOOTH_ADMINAllows applications to discover and pair bluetooth devices.
BROADCAST_STICKYAllows an application to broadcast sticky intents.
CALL_COMPANION_APPAllows an app which implements the InCallService API to be eligible to be enabled as a calling companion app.
CHANGE_NETWORK_STATEAllows applications to change network connectivity state.
CHANGE_WIFI_MULTICAST_STATEAllows applications to enter Wi-Fi Multicast mode.
CHANGE_WIFI_STATEAllows applications to change Wi-Fi connectivity state.
DELIVER_COMPANION_MESSAGESAllows an application to deliver companion messages to system
DISABLE_KEYGUARDAllows applications to disable the keyguard if it is not secure.
EXPAND_STATUS_BARAllows an application to expand or collapse the status bar.
FOREGROUND_SERVICEAllows a regular application to use Service.startForeground.
GET_PACKAGE_SIZEAllows an application to find out the space used by any package.
HIDE_OVERLAY_WINDOWSAllows an app to prevent non-system-overlay windows from being drawn on top of it
HIGH_SAMPLING_RATE_SENSORSAllows an app to access sensor data with a sampling rate greater than 200 Hz.
INSTALL_SHORTCUTAllows an application to install a shortcut in Launcher.
INTERNETAllows applications to open network sockets.
KILL_BACKGROUND_PROCESSESAllows an application to call ActivityManager.killBackgroundProcesses(String).
MANAGE_OWN_CALLSAllows a calling application which manages its own calls through the self-managedConnectionService APIs.
MODIFY_AUDIO_SETTINGSAllows an application to modify global audio settings.
NFCAllows applications to perform I/O operations over NFC.
NFC_PREFERRED_PAYMENT_INFOAllows applications to receive NFC preferred payment service information.
NFC_TRANSACTION_EVENTAllows applications to receive NFC transaction events.
QUERY_ALL_PACKAGESAllows query of any normal app on the device, regardless of manifest declarations.
READ_BASIC_PHONE_STATEAllows read only access to phone state with a non dangerous permission, including the information like cellular network type, software version.
READ_NEARBY_STREAMING_POLICYAllows an application to read nearby streaming policy.
READ_SYNC_SETTINGSAllows applications to read the sync settings.
READ_SYNC_STATSAllows applications to read the sync stats.
RECEIVE_BOOT_COMPLETEDAllows an application to receive the Intent.ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.
REORDER_TASKSAllows an application to change the Z-order of tasks.
REQUEST_COMPANION_PROFILE_WATCHAllows a companion app to run in the background.
REQUEST_COMPANION_RUN_IN_BACKGROUNDAllows a companion app to run in the background.
REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUNDAllows a companion app to start a foreground service from the background.
REQUEST_COMPANION_USE_DATA_IN_BACKGROUNDAllows a companion app to use data in the background.
REQUEST_DELETE_PACKAGESAllows an application to request deleting packages.
REQUEST_IGNORE_BATTERY_OPTIMIZATIONSPermission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCEAllows an application to subscribe to notifications about the presence status change of their associated companion device
REQUEST_PASSWORD_COMPLEXITYAllows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.
SET_ALARMAllows an application to broadcast an Intent to set an alarm for the user.
SET_WALLPAPERAllows applications to set the wallpaper.
SET_WALLPAPER_HINTSAllows applications to set the wallpaper hints.
TRANSMIT_IRAllows using the device's IR transmitter, if available.
UPDATE_PACKAGES_WITHOUT_USER_ACTIONAllows an application to indicate viaPackageInstaller.SessionParams.setRequireUserAction(int) that user action should not be required for an app update.
USE_BIOMETRIAllows an app to use device supported biometric modalities.
USE_EXACT_ALARMAllows apps to use exact alarms just like with SCHEDULE_EXACT_ALARM but without needing to request this permission from the user.
USE_FINGERPRINTThis constant was deprecated in API level 28. Applications should request USE_BIOMETRIC instead.
USE_FULL_SCREEN_INTENTRequired for apps targeting Build.VERSION_CODES.Q that want to use notification full screen intents.
VIBRATEAllows access to the vibrator.
WAKE_LOCKAllows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
WRITE_SYNC_SETTINGSAllows applications to write the sync settings.
DeprecatedBIND_CARRIER_MESSAGING_SERVICEThis constant was deprecated in API level 23. Use BIND_CARRIER_SERVICES instead.
GET_TASKSThis constant was deprecated in API level 21. No longer enforced.
PERSISTENT_ACTIVITYThis constant was deprecated in API level 15. This functionality will be removed in the future; please do not use.
RESTART_PACKAGESThis constant was deprecated in API level 15.
SET_PREFERRED_APPLICATIONSThis constant was deprecated in API level 15.
SMS_FINANCIAL_TRANSACTIONSThis constant was deprecated in API level 31.

RuStore’ Requirements to app permissions are comparable to Google Play Guidelines and are based on Google terms for developer’s convenience.

For up-to-date permission categories refer to:

https://developer.android.com/reference/android/Manifest.permission.