Обратный вызов не получен при обработке разрешения с помощью RememberLauncherForActivityResult() с контрактом ActivityResultContracts.RequestPermission()
Пользовательский интерфейс системного запроса запускается, но результат не отправляется в программу запуска.
Может ли кто-нибудь объяснить мне, что я делаю неправильно в фрагменте кода, и указать мне правильный способ запустить это.
val launcher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.RequestPermission(),
onResult = { isGranted ->
if(isGranted) {
onPermissionGranted()
} else {
onPermissionDenied()
}
}
)
val permissionState = rememberPermissionState(permission = permission)
when(permissionState.hasPermission) {
true -> {
onPermissionGranted()
}
false -> {
if(permissionState.shouldShowRationale) {
SideEffect {
launcher.launch(permission)
}
} else {
// show snackbar
}
}
}