✨ Features
- ✅ Kotlin Multiplatform support
- ✅ Android & iOS
- ✅ Compose Multiplatform ready
- ✅ Simple callback API
- ✅ Multiple permission requests
- ✅ Permanent denial detection
- ✅ Location permissions support
- ✅ Lightweight and easy to integrate
📦 Installation
Gradle
dependencies {
}
Supported Permissions
🚀 How to use
On Andriod
Initialize PermissionHandler object on MainActivity or Application
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
PermissionHandler.start(this)
super.onCreate(savedInstanceState)
setContent {
App()
}
}
}
Register your permission in manifest.xml
<uses-permission android:name="android.permission.CAMERA" />
On iOS
Register your permission in Info.plist
<key>NSCameraUsageDescription</key>
<string>We want to access the camera to take photos.</string>
Compose Multiplatform Example
Check or request single permission
PermissionHandler.requestSingle(
Permission.Camera
) { granted ->
if (granted) {
} else {
}
}
Check or request multiple permissions.
PermissionHandler.requestMultiple(
Permission.Camera,
Permission.Microphone
) { grantedMap ->
val cameraGranted = grantedMap[Permission.Camera]
val microphoneGranted = grantedMap[Permission.Microphone]
}
Check or request multiple permissions in a specific order.
PermissionHandler.requestMultiplySequential(
Permission.GeolocationOnAppUsing,
Permission.GeolocationAlways
) { grantedMap ->
val backgroundGeolocation = grantedMap.all { (permission, granted) -> granted }
if (backgroundGeolocation) {
} else {
}
}