Android Manifest Permissions Reference
Searchable Android permission list with protection levels and manifest snippets.
41 permissions
INTERNETnormalOpen network sockets. Required by almost every app.
ACCESS_NETWORK_STATEnormalRead connectivity state, used for offline handling.
ACCESS_WIFI_STATEnormalRead Wi-Fi connection details.
VIBRATEnormalControl the vibrator.
WAKE_LOCKnormalKeep the CPU awake, e.g. during playback or sync.
FOREGROUND_SERVICEnormalAPI 28+Required to start any foreground service.
FOREGROUND_SERVICE_MEDIA_PLAYBACKnormalAPI 34+Typed foreground service permission; Android 14 requires one per service type.
RECEIVE_BOOT_COMPLETEDnormalStart work after device boot.
REQUEST_INSTALL_PACKAGESsignatureInstall APKs; heavily restricted on Google Play.
POST_NOTIFICATIONSdangerousgroup: NotificationsAPI 33+Runtime prompt on Android 13+. Without it notifications are silently dropped.
CAMERAdangerousgroup: CameraAccess the camera. Prefer the photo picker or ACTION_IMAGE_CAPTURE if you only need a picture.
RECORD_AUDIOdangerousgroup: MicrophoneCapture audio input.
ACCESS_FINE_LOCATIONdangerousgroup: LocationPrecise GPS location; must be requested with COARSE on Android 12+.
ACCESS_COARSE_LOCATIONdangerousgroup: LocationApproximate location, roughly city block accuracy.
ACCESS_BACKGROUND_LOCATIONdangerousgroup: LocationAPI 29+Separate, second-step request. Requires a Play Store declaration form.
READ_CONTACTSdangerousgroup: ContactsRead the user's contacts.
WRITE_CONTACTSdangerousgroup: ContactsModify contacts.
READ_CALENDARdangerousgroup: CalendarRead calendar events.
WRITE_CALENDARdangerousgroup: CalendarAdd or change calendar events.
READ_EXTERNAL_STORAGEdangerousgroup: StorageDeprecated from API 33; split into the media permissions below.
WRITE_EXTERNAL_STORAGEdangerousgroup: StorageNo effect on Android 11+ with scoped storage. Use MediaStore or SAF.
READ_MEDIA_IMAGESdangerousgroup: PhotosAPI 33+Read images. Consider the Photo Picker, which needs no permission.
READ_MEDIA_VIDEOdangerousgroup: PhotosAPI 33+Read videos from shared storage.
READ_MEDIA_AUDIOdangerousgroup: MusicAPI 33+Read audio files from shared storage.
READ_MEDIA_VISUAL_USER_SELECTEDdangerousgroup: PhotosAPI 34+Partial photo access on Android 14+.
READ_PHONE_STATEdangerousgroup: PhoneRead phone status. Identifiers such as IMEI are no longer available.
CALL_PHONEdangerousgroup: PhonePlace calls without going through the dialer UI.
READ_SMSdangerousgroup: SMSRestricted on Play — needs a permissions declaration.
SEND_SMSdangerousgroup: SMSSend SMS messages. Play-restricted.
BODY_SENSORSdangerousgroup: SensorsHeart rate and similar body sensor data.
ACTIVITY_RECOGNITIONdangerousgroup: Physical activityAPI 29+Step counts and detected activity.
BLUETOOTH_SCANdangerousgroup: Nearby devicesAPI 31+Scan for Bluetooth devices; add usesPermissionFlags="neverForLocation" if you don't derive location.
BLUETOOTH_CONNECTdangerousgroup: Nearby devicesAPI 31+Connect to already paired devices.
BLUETOOTH_ADVERTISEdangerousgroup: Nearby devicesAPI 31+Advertise to nearby Bluetooth devices.
NEARBY_WIFI_DEVICESdangerousgroup: Nearby devicesAPI 33+Wi-Fi peer discovery without location permission.
USE_EXACT_ALARMnormalAPI 33+For alarm-clock style apps; Play reviews the use case.
SCHEDULE_EXACT_ALARMspecialAPI 31+User must grant it in system settings; not a runtime dialog.
MANAGE_EXTERNAL_STORAGEspecialAPI 30+All-files access. Requires a Play Store declaration and is often rejected.
SYSTEM_ALERT_WINDOWspecialDraw over other apps; granted through a settings screen.
PACKAGE_USAGE_STATSspecialUsage stats access, granted in system settings.
QUERY_ALL_PACKAGESnormalAPI 30+See all installed apps. Play-restricted — prefer a <queries> element.
About the Android Manifest Permissions Reference
Search the Android manifest permissions developers actually use, filtered by protection level (normal, dangerous, special, signature), with the permission group, the API level that introduced it and practical notes about Play Store restrictions. Tick the ones you need and copy a ready-made uses-permission block.
Examples
Notifications
search notificationsOutput
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />Keyboard shortcuts
- Copy the main outputCtrl / ⌘ + Shift + C
- Download the resultCtrl / ⌘ + S
- Share this toolCtrl / ⌘ + Shift + S
- Reset the inputsAlt + R
- Open the tool search paletteCtrl / ⌘ + K
Related tools
Android dp ↔ px ↔ sp Converter
Dev Utilities
Convert dp, px and sp across every Android density bucket.
iOS Device Screen Sizes Reference
Dev Utilities
Points, pixels, scale factors and App Store screenshot sizes for iPhone, iPad and Apple Watch.
.htaccess Redirect Generator
Dev Utilities
Generate Apache .htaccess redirect and rewrite rules.
Android APK Analyzer & Explorer
Dev Utilities
Open an APK, decode its manifest and browse or download every file inside.
Bash Alias Generator
Dev Utilities
Create shell aliases for Bash, Zsh or Fish with correct quoting.
Chmod Calculator
Dev Utilities
Unix permission calculator: checkboxes, octal, and symbolic.
Frequently asked questions
Version 1.0.0 · Updated 2026-08-23 · Runs entirely in your browser