Android Developers: Request runtime permissions
Documents permission-request workflow, evaluating whether access is needed, associating requests with user actions, explaining private-data access, and handling grant or deny outcomes.
What this source can teach
Use this source to understand a platform convention and the setting it was designed for.
- Start with the original. Open the source and find the guidance or example relevant to your task.
- Trace the connection. Use the claim notes below to see how this site applies the source to specific patterns.
- Check the setting. Compare the source's platform, people, and constraints with your own decision.
Pattern Decisions This Source Supports
| Pattern | Supported decision | Required contract | Claim note |
|---|---|---|---|
| Consent prompt | Choose consent prompt when the user must actively opt in to a specific optional data use, communication, study, sharing arrangement, personalization feature, AI training use, or sensitive-data processing purpose. | The prompt appears before optional processing begins and states exactly what agreeing enables. | Supports tying sensitive access requests to user actions, explaining private-data access, and handling grant or deny outcomes when consent prompts lead into platform permission requests. |
| Location permission flow | Choose location permission flow when current device coordinates are the central interaction and the task needs permission timing, precision, grant or denial recovery, and location lifecycle states. | The native browser or OS prompt appears only after users understand why location is needed and choose a location-dependent action. | Supports mobile permission rationale, runtime request, denial, and settings recovery behavior. |
| Permission prompt with no context | Flag this anti-pattern when a permission prompt appears before the user starts a resource-dependent feature or before the interface explains why the resource is needed now. | The product must not invoke the platform prompt from page load, app launch, passive onboarding, timers, or unrelated navigation. | Supports asking for runtime permissions in context, associating permission requests with user actions, handling denial and revocation, and graceful degradation. |
| Permission request | Choose permission request when the user is authorizing an OS, browser, or device resource such as camera, microphone, location, photos, contacts, notifications, clipboard, Bluetooth, motion sensors, storage access, or another powerful feature. | The product evaluates whether permission is truly needed before declaring or requesting the platform permission. | Supports asking for runtime permissions in context, avoiding blocked flows, graceful degradation after denial or revocation, evaluating whether permission is necessary, and associating user actions with specific permissions. |
Comparisons supported by this source
- Consent prompt vs cookie banner vs preference center vs notification preferences vs permission sharing vs human approval gate
Supports tying sensitive access requests to user actions, explaining private-data access, and handling grant or deny outcomes.
- Location permission flow vs permission request vs map view vs address entry vs privacy settings vs offline state
Supports runtime permission request timing, denial recovery, and rationale guidance on mobile.
- Permission prompt with no context vs permission request vs location permission flow vs consent prompt vs permission denied state vs notification preferences
Supports contextual runtime permission requests, user-action association, denial handling, revocation handling, and graceful degradation.
- Permission request vs consent prompt vs permission sharing vs permission recovery vs permission denied state vs notification preferences
Supports contextual runtime permission requests, action-specific permission needs, cancellation, denial handling, revocation handling, and graceful degradation.
Evidence Role
This source is treated as platform-guideline evidence. Its value comes from the specific claims and setting described above.
Publisher: Android Developers. Last checked: .