Skip to content
Skillv1.0.0

android-permissions-activity-results

Use modern permission requests, Activity Result APIs, and capability-gated UX in Android flows.

by krutikjain(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from krutikjain/android-agent-skills (.github/skills/android-permissions-activity-results/SKILL.md). Install upstream with npx skills add krutikjain/android-agent-skills --skill android-permissions-activity-results. Copyright stays with the author.

Android Permissions Activity Results

When To Use

  • Use this skill when the request is about: android permission request flow, activity result api android, camera permission in android app.
  • Primary outcome: Use modern permission requests, Activity Result APIs, and capability-gated UX in Android flows.
  • Read references/patterns.md when you need the picker-vs-permission matrix or API-level behavior checklist.
  • Read references/scenarios.md for photo picker, notification permission, and limited media access examples.
  • Handoff skills when the scope expands:
  • android-media-files-sharing
  • android-testing-ui

Workflow

  1. Start with the capability the user needs, not the permission name: photo picker, document picker, camera capture, or notification opt-in often avoids broader runtime permissions.
  2. Choose the right Activity Result contract and keep the launcher in a stable lifecycle owner such as an activity, fragment, or remembered Compose launcher.
  3. Model the full permission state space explicitly: granted, denied, permanently denied, limited/selected access, one-time access, and settings-based recovery.
  4. Account for API-level differences such as POST_NOTIFICATIONS on Android 13+, approximate vs precise location, background location as a separate flow, and Android 14 selected-photos access.
  5. Re-check capability on return from settings or picker flows, then validate rotation, process death, and denial recovery instead of assuming the happy path.

Guardrails

  • Treat loading, empty, error, offline, and permission-denied states as first-class UI states.
  • Do not launch permission or picker contracts directly from composition without a user action or explicit side effect.
  • Prefer the narrowest capability surface available, such as Photo Picker or SAF, over broad storage permissions.
  • Keep permission recovery testable: rationale, settings redirect, denied state, and post-return revalidation.

Anti-Patterns

  • Assuming the happy path is enough for product flows.
  • Repeatedly re-prompting after denial instead of offering a clear settings or alternate-path recovery.
  • Requesting media or storage access when the Photo Picker or document contracts are enough.
  • Treating Android 14 selected-photos access as full media-library access.

Review Focus

  • Can the feature use a picker or contract instead of a runtime permission?
  • Does the flow handle denial, limited access, and return-from-settings correctly?
  • Are permission launches owned by the right lifecycle scope and initiated at the right time?
  • Are platform-specific behaviors called out for Android 13+ and Android 14+ where relevant?

Examples

Happy path

  • Scenario: Find the repo's Activity Result and permission surfaces before proposing a flow change.
  • Command: rg -n "rememberLauncherForActivityResult|RequestPermission|RequestMultiplePermissions|PickVisualMedia|OpenDocument|TakePicture" examples

Edge case

  • Scenario: Review notification and media access paths for API-level-specific behavior.
  • Command: rg -n "POST_NOTIFICATIONS|READ_MEDIA_|READ_EXTERNAL_STORAGE|PickVisualMedia" examples

Failure recovery

  • Scenario: Differentiate permission prompts from media-sharing and testing requests.
  • Command: python3 scripts/eval_triggers.py --skill android-permissions-activity-results

Done Checklist

  • The chosen contract or picker is narrower than a broad permission where possible.
  • Denied, permanently denied, limited, and settings-return states are all modeled.
  • API-level differences are called out for the affected Android versions.
  • Recovery UI and observability are explicit instead of implied.

Official References

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/krutikjain-android-agent-skills-android-permissions-acti-55238a/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

krutikjain-android-agent-skills-android-permissions-acti-55238a.ocm.jsonjson
{
  "ocm": "1",
  "id": "krutikjain-android-agent-skills-android-permissions-acti-55238a",
  "kind": "skill",
  "name": "android-permissions-activity-results",
  "description": "Use modern permission requests, Activity Result APIs, and capability-gated UX in Android flows.",
  "publisher": "krutikjain",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "android",
      "permissions",
      "activity-result",
      "capabilities",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Use modern permission requests, Activity Result APIs, and capability-gated UX in Android flows."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/krutikjain/android-agent-skills",
      "path": ".github/skills/android-permissions-activity-results/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/krutikjain/android-agent-skills/blob/HEAD/.github/skills/android-permissions-activity-results/SKILL.md",
      "key": "krutikjain/android-agent-skills/.github/skills/android-permissions-activity-results/SKILL.md"
    }
  },
  "instructions": "# Android Permissions Activity Results\n\n## When To Use\n- Use this skill when the request is about: android permission request flow, activity result api android, camera permission in android app.\n- Primary outcome: Use modern permission requests, Activity Result APIs, and capability-gated UX in Android flows.\n- Read `references/patterns.md` when you need the picker-vs-permission matrix or API-level behavior checklist.\n- Read `references/scenarios.md` for photo picker, notification permission, and limited media access examples.\n- Handoff skills when the scope expands:\n- `android-media-files-shar",
  "cost": {
    "context_tokens": 1149
  }
}

Fetch it by URL: GET /api/v1/registry/krutikjain-android-agent-skills-android-permissions-acti-55238a/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.