![](/img/trans.png)
[英]Why does accompanist-systemuicontroller not work when using Jetpack Compose with Material3?
[英]launchPermissionRequest() in jetpack accompanist does nothing
在我的应用程序中,我必须请求write to external storage
的权限才能保存位图以便共享它。 现在看下面的代码,每当我调用它时,都会出现警报对话框,但 Android 本身no permission request appears
。 我在日志中只能看到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 () -> Unit = { },
content: @Composable () -> 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: () -> Unit
) {
AlertDialog(
onDismissRequest = { /* Don't */ },
title = {
Text(text = "Permission request")
},
text = {
Text(text)
},
confirmButton = {
Button(onClick = onRequestPermission) {
Text("Ok")
}
}
)
}
只是为了没有人错过 ADM 在评论中提到的可能的解决方案。
ADM 的解决方案:检查您是否在清单中添加了权限
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.