![](/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.