Analysis updated 2026-07-03
Request camera or storage permissions in an Android app with a single callback instead of managing multiple Android API edge cases yourself.
Show a custom explanation dialog before re-requesting a permission the user previously denied.
Detect when a user has permanently blocked a permission and show a dialog directing them to the app settings screen.
Ask for multiple permissions at once and handle granted versus denied results in a single callback.
| guolindev/permissionx | takusemba/spotlight | element-hq/element-android | |
|---|---|---|---|
| Stars | 3,669 | 3,663 | 3,685 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | easy | easy | hard |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
PermissionX is an Android library that simplifies the process of asking users to grant app permissions. On Android, apps must ask the user at runtime before accessing things like the camera, contacts, or phone calls. The built-in Android API for doing this is verbose and requires handling several edge cases yourself. PermissionX wraps all of that into a shorter, more readable chain of method calls. A basic request takes three steps: initialize the library with an activity or fragment, specify which permissions you want, and call request. The callback tells you whether all permissions were granted, which ones were granted, and which were denied. You can then write whatever logic your app needs based on that result. Beyond the basics, the library handles two common complications. The first is when a user has denied a permission and you want to explain why your app needs it before asking again. PermissionX provides a method you can chain in to show a dialog with a custom explanation message. If the user clicks the positive button, the library automatically re-requests the permission. The second complication is when a user has denied a permission and checked the option to never be asked again. At that point Android will never show the request dialog. PermissionX detects this situation and provides a method to show a dialog that directs the user to the app settings screen, where they can enable the permission manually. When the user returns to the app, PermissionX automatically retries the request. You can also configure the library to show the explanation dialog before making any request at all, for situations where it is good practice to tell users upfront what you need and why. The built-in dialogs support Android's dark theme automatically. Adding the library requires a single line in the app's build.gradle file. It is written in Kotlin and works with any Android project using AndroidX.
PermissionX is an Android library that simplifies asking users to grant app permissions. It handles all the edge cases including denied permissions, explanation dialogs, and redirecting users to settings when needed.
Mainly Kotlin. The stack also includes Kotlin, Android, AndroidX.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.