permissions

Handle Android runtime permissions with Compose and Accompanist rationale prompts.

14|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/piyushverma0/android-agent-skills --skill permissions-piyushverma0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: permissions
Source: https://github.com/piyushverma0/android-agent-skills/tree/main/skills/permissions
Command: npx skills add https://github.com/piyushverma0/android-agent-skills --skill permissions-piyushverma0

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Android runtime permissions are error-prone and require consistent UX across screens, which often leads to denied permissions, broken flows, or flaky behavior when multiple permissions are involved.

Core Features & Use Cases

  • Rationale-driven prompts using Compose and Accompanist Permissions to show context before requesting any permission.
  • Unified single-permission and multi-permission flows (camera, location, microphone, storage, contacts, notifications, Bluetooth, etc.) with robust result handling and denial fallbacks.
  • Guidance for AndroidManifest declarations and best practices for foreground and background permission sequencing in real apps.

Quick Start

Declare required permissions in the AndroidManifest, initialize rememberPermissionState (or rememberMultiplePermissionsState), present a rationale, and request the necessary permissions before enabling the feature.

Frequently Asked Questions about permissions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle Android runtime permissions in Jetpack Compose?

Android runtime permissions in Jetpack Compose are handled using rememberPermissionState or rememberMultiplePermissionsState to request access, present rationale prompts, and manage denial fallbacks for sensitive features.

What is the best way to request multiple runtime permissions simultaneously on Android?

Requesting multiple runtime permissions simultaneously uses rememberMultiplePermissionsState to manage orderly request sequencing across camera, location, and storage, ensuring robust result handling and safe denial fallbacks.

How do I show a permission rationale prompt before requesting access in Compose?

A permission rationale prompt in Compose is shown by checking the state before requesting, using Accompanist Permissions to display context for camera, location, or microphone access to improve user grant rates.

Does Accompanist Permissions support background location sequencing?

Accompanist Permissions supports background location sequencing by guiding AndroidManifest declarations and managing orderly request flows for both foreground and background permissions to ensure compliant UX.

Why does my Android app crash or break flows when multiple permissions are denied?

Multiple permission denials break flows when lacking consistent UX and safe denial handling, which requires unified rationale prompts and robust fallback logic to prevent flaky behavior.