
Experimental permission management library for managing Android and iOS permissions. Allows checking, requesting, and handling permission statuses with customizable callbacks.
Heavily experimental Compose Multiplatform (Android/iOS) permission management library.
More permissions will be added when needed. Anyone can open an issue with a permission request.
To use this library, add perk as a dependency to your project:
[versions]
perk = "0.1.0"
[libraries]
perk = { module = "io.github.hristogochev:perk", version.ref = "perk" }Check if a permission is granted:
val permissionChecker = rememberPermissionChecker()
permissionChecker.isPermissionGranted(Permission.PostNotifications) { isGranted: Boolean ->
println("Permission granted: $isGranted")
}Request a permission:
val permissionRequestLauncher = rememberPermissionRequestLauncher { permission:Permission, permissionStatus:PermissionStatus ->
when (permissionStatus) {
PermissionStatus.Granted -> println("Permission granted")
PermissionStatus.PermanentlyDeclined -> println("Permission permanently declined")
PermissionStatus.TemporarilyDeclined -> println("Permission temporary declined")
}
}
permissionRequestLauncher.launch(Permission.PostNotifications)Request a permission until the user grants it or cancels the request:
val permissionRequestDialogLauncher = rememberPermissionRequestDialogLauncher(Permission.PostNotifications) { permission: Permission ->
println("Permission granted")
}
permissionRequestDialogLauncher.launch()Licensed under MIT license.
Heavily experimental Compose Multiplatform (Android/iOS) permission management library.
More permissions will be added when needed. Anyone can open an issue with a permission request.
To use this library, add perk as a dependency to your project:
[versions]
perk = "0.1.0"
[libraries]
perk = { module = "io.github.hristogochev:perk", version.ref = "perk" }Check if a permission is granted:
val permissionChecker = rememberPermissionChecker()
permissionChecker.isPermissionGranted(Permission.PostNotifications) { isGranted: Boolean ->
println("Permission granted: $isGranted")
}Request a permission:
val permissionRequestLauncher = rememberPermissionRequestLauncher { permission:Permission, permissionStatus:PermissionStatus ->
when (permissionStatus) {
PermissionStatus.Granted -> println("Permission granted")
PermissionStatus.PermanentlyDeclined -> println("Permission permanently declined")
PermissionStatus.TemporarilyDeclined -> println("Permission temporary declined")
}
}
permissionRequestLauncher.launch(Permission.PostNotifications)Request a permission until the user grants it or cancels the request:
val permissionRequestDialogLauncher = rememberPermissionRequestDialogLauncher(Permission.PostNotifications) { permission: Permission ->
println("Permission granted")
}
permissionRequestDialogLauncher.launch()Licensed under MIT license.