#android #kotlin #android-jetpack-compose #jetpack-compose-accompanist
Вопрос:
В моем приложении я должен запросить разрешение write to external storage
на сохранение растрового изображения, чтобы иметь возможность поделиться им. Теперь, глядя на приведенный ниже код, всякий раз, когда я его вызываю, появляется диалоговое окно оповещения, но no permission request appears
уже с самого Android. Все, что я вижу в журнале, это Let's launch permission request.
Как правильно отобразить окно разрешений на Android, чтобы получить это разрешение? Спасибо.
@ExperimentalPermissionsApi @Composable fun Permission( permission: String = android.Manifest.permission.WRITE_EXTERNAL_STORAGE, rationale: String = "This permission is important for this app. Please grant the permission.", permissionNotAvailableContent: @Composable () -gt; Unit = { }, content: @Composable () -gt; Unit = { } ) { val permissionState = rememberPermissionState(permission) PermissionRequired( permissionState = permissionState, permissionNotGrantedContent = { Rationale( text = rationale, onRequestPermission = { println("Let's launch permission request.") permissionState.launchPermissionRequest() } ) }, permissionNotAvailableContent = permissionNotAvailableContent, content = content ) } @Composable private fun Rationale( text: String, onRequestPermission: () -gt; Unit ) { AlertDialog( onDismissRequest = { /* Don't */ }, title = { Text(text = "Permission request") }, text = { Text(text) }, confirmButton = { Button(onClick = onRequestPermission) { Text("Ok") } } ) }
Комментарии:
1. вы добавили разрешение в манифест ?
2. @ADM, какая глупая ошибка, и это стоило мне много времени. Пожалуйста, ответьте на этот вопрос, я отмечу его как ответ. Спасибо 🙂