Android Permissions Reference

All Android manifest permissions with protection level and feature requirement.

Searchable Android permission reference: common manifest permissions with their protection level (normal, dangerous, signature), the runtime-request requirement, and the permission group each dangerous permission belongs to.

What is the difference between normal and dangerous permissions?

Normal permissions cover low-risk capabilities and are granted automatically at install with no user prompt. Dangerous permissions touch private data or sensors, so on Android 6.0 and later your app must request them at runtime and the user can deny or revoke them.

Android permissions by protection level

Android gates sensitive capabilities behind permissions, each carrying a protection level that decides how it is granted. Normal permissions are auto-granted at install; dangerous ones require a runtime prompt the user can deny; signature permissions are limited to apps signed with the same key. This searchable reference lists common permissions with their level, group and runtime requirement.

How it works

Declare every permission in the manifest, then request dangerous ones at runtime:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
if (checkSelfPermission(Manifest.permission.CAMERA) != PERMISSION_GRANTED) {
  requestPermissions(arrayOf(Manifest.permission.CAMERA), REQ_CODE)
}

A normal permission is granted at install with no prompt. A dangerous permission also needs the user to approve the runtime request, and they can revoke it later in Settings, so always check checkSelfPermission before use.

Tips and notes

  • Request a dangerous permission only when the feature that needs it is invoked.
  • Since Android 11, each permission is granted individually even within a group.
  • Handle denial gracefully — degrade the feature rather than crashing.
  • Background location (ACCESS_BACKGROUND_LOCATION) needs a separate, stricter flow.