gpt4 book ai didi

android - 如何使用 Jetpack Compose 请求权限?

转载 作者:行者123 更新时间:2023-12-04 10:11:11 24 4
gpt4 key购买 nike

应该如何实现从 Jetpack Compose View 请求权限?我正在尝试使用 Jetpack Compose 实现应用程序访问相机。我尝试了 How to get Current state or context in Jetpack Compose 中的示例不幸的是,示例不再适用于 dev06。

        fun hasPermissions(context: Context) = PERMISSIONS_REQUIRED.all {
ContextCompat.checkSelfPermission(context, it) == PackageManager.PERMISSION_GRANTED
}
}
}

最佳答案

compose_version = '1.0.0-beta04'

implementation 'androidx.activity:activity-compose:1.3.0-alpha06'
您可以像这样简单地请求权限:
@Composable
fun ExampleScreen() {
val launcher = rememberLauncherForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
if (isGranted) {
// Permission Accepted: Do something
Log.d("ExampleScreen","PERMISSION GRANTED")

} else {
// Permission Denied: Do something
Log.d("ExampleScreen","PERMISSION DENIED")
}
}
val context = LocalContext.current

Button(
onClick = {
// Check permission
when (PackageManager.PERMISSION_GRANTED) {
ContextCompat.checkSelfPermission(
context,
Manifest.permission.READ_EXTERNAL_STORAGE
) -> {
// Some works that require permission
Log.d("ExampleScreen","Code requires permission")
}
else -> {
// Asking for permission
launcher.launch(Manifest.permission.READ_EXTERNAL_STORAGE)
}
}
}
) {
Text(text = "Check and Request Permission")
}
}

关于android - 如何使用 Jetpack Compose 请求权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60608101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com