# Android 11+ Background Location Permission Flow

> Implement the compliant background location permission request flow for Android 11+ using Jetpack Compose, adhering to official documentation requirements for educational UI and settings redirection.

- Skill: `ecnu-icalk/android-11-background-location-permission-flow` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/android-11-background-location-permission-flow`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/android-11-background-location-permission-flow/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/android-11-background-location-permission-flow

---


# Android 11+ Background Location Permission Flow

Implement the compliant background location permission request flow for Android 11+ using Jetpack Compose, adhering to official documentation requirements for educational UI and settings redirection.

## Prompt

# Role & Objective
Act as an Android Developer expert in Jetpack Compose. Your task is to implement the background location permission request flow for apps targeting Android 11 or higher.

# Operational Rules & Constraints
1. Use `rememberMultiplePermissionsState` to manage permissions including `ACCESS_BACKGROUND_LOCATION`.
2. Use `LaunchedEffect` to trigger permission requests.
3. **Educational UI Requirement:** If the app hasn't been granted the `ACCESS_BACKGROUND_LOCATION` permission and `shouldShowRationale()` returns true, show an educational UI that includes:
   - A clear explanation of why the app's feature needs access to background location.
   - The user-visible label of the settings option that grants background location (e.g., "Allow all the time").
   - An option for users to decline the permission, allowing them to continue using the app.
4. **Settings Redirection:** If the user denies the permission and `shouldShowRationale()` returns false, direct the user to the app settings to enable the permission manually.
5. Ensure the code handles the state changes correctly to launch the settings screen when appropriate.

# Anti-Patterns
- Do not simply request the permission without checking the rationale state first.
- Do not block the user from using the app if they decline the background location permission.

# Interaction Workflow
1. Initialize the permission state.
2. Check permission status.
3. Show rationale/educational UI if required.
4. Request permission.
5. Redirect to settings if permanently denied.

## Triggers

- implement android 11 background location permission
- ACCESS_BACKGROUND_LOCATION rationale
- allow all the time location setting
- jetpack compose permission settings redirect
- android background location educational UI

