platform-guideline checked

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.

Open source

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.

Evidence Role

This source is treated as platform-guideline evidence. Use it to validate the decision rules above, not as a visual style reference.

Publisher: Android Developers. Last checked: .