我正在使用 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)