Android Manifest Permissions Reference

Searchable Android permission list with protection levels and manifest snippets.

Support
Works Offline
Privacy First
No Login
No API

41 permissions

  • INTERNETnormal

    Open network sockets. Required by almost every app.

  • ACCESS_NETWORK_STATEnormal

    Read connectivity state, used for offline handling.

  • ACCESS_WIFI_STATEnormal

    Read Wi-Fi connection details.

  • VIBRATEnormal

    Control the vibrator.

  • WAKE_LOCKnormal

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

    Start work after device boot.

  • REQUEST_INSTALL_PACKAGESsignature

    Install APKs; heavily restricted on Google Play.

  • POST_NOTIFICATIONSdangerousgroup: NotificationsAPI 33+

    Runtime prompt on Android 13+. Without it notifications are silently dropped.

  • CAMERAdangerousgroup: Camera

    Access the camera. Prefer the photo picker or ACTION_IMAGE_CAPTURE if you only need a picture.

  • RECORD_AUDIOdangerousgroup: Microphone

    Capture audio input.

  • ACCESS_FINE_LOCATIONdangerousgroup: Location

    Precise GPS location; must be requested with COARSE on Android 12+.

  • ACCESS_COARSE_LOCATIONdangerousgroup: Location

    Approximate location, roughly city block accuracy.

  • ACCESS_BACKGROUND_LOCATIONdangerousgroup: LocationAPI 29+

    Separate, second-step request. Requires a Play Store declaration form.

  • READ_CONTACTSdangerousgroup: Contacts

    Read the user's contacts.

  • WRITE_CONTACTSdangerousgroup: Contacts

    Modify contacts.

  • READ_CALENDARdangerousgroup: Calendar

    Read calendar events.

  • WRITE_CALENDARdangerousgroup: Calendar

    Add or change calendar events.

  • READ_EXTERNAL_STORAGEdangerousgroup: Storage

    Deprecated from API 33; split into the media permissions below.

  • WRITE_EXTERNAL_STORAGEdangerousgroup: Storage

    No 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: Phone

    Read phone status. Identifiers such as IMEI are no longer available.

  • CALL_PHONEdangerousgroup: Phone

    Place calls without going through the dialer UI.

  • READ_SMSdangerousgroup: SMS

    Restricted on Play — needs a permissions declaration.

  • SEND_SMSdangerousgroup: SMS

    Send SMS messages. Play-restricted.

  • BODY_SENSORSdangerousgroup: Sensors

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

    Draw over other apps; granted through a settings screen.

  • PACKAGE_USAGE_STATSspecial

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

Output

<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

Frequently asked questions

Version 1.0.0 · Updated 2026-08-23 · Runs entirely in your browser