小编Ass*_*sis的帖子

ActivityResultContracts TakePicture 结果始终返回 false

我正在使用 Jetpack Compose,当我调用用相机拍照的方法时,结果ActivityResultContracts.TakePicture始终为 false。

示例代码:

@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun SomeScreen() {
    val photoUri by remember { mutableStateOf(value = Uri.EMPTY) }

    val cameraLauncher = rememberLauncherForActivityResult(
        contract = ActivityResultContracts.TakePicture(),
        onResult = { success ->
            if (success) {
                println("success")
                println("photo uri: $photoUri")
            } else println("result failed")
        }
    )

    val cameraPermissionState = rememberPermissionState(
        permission = Manifest.permission.CAMERA,
        onPermissionResult = { granted ->
            if (granted) cameraLauncher.launch(photoUri)
            else print("camera permission is denied")
        }
    )

    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) { …
Run Code Online (Sandbox Code Playgroud)

android-camera kotlin android-jetpack-compose

4
推荐指数
1
解决办法
2047
查看次数