如何使用伴奏者正确请求粗略和精细位置权限?

问题描述 投票:0回答:1
android kotlin jetpack-compose-accompanist
1个回答
0
投票

是的,可以,使用

RequestMultiplePermissions()
代替
RequestPermission()
。这样,您可以一次请求多个权限,在回调中您将得到
Map<String, Boolean>
,其中权限是键,值被授予/拒绝
Boolean

@Composable
fun rememberPermissionLauncher(
    onGranted: () -> Unit,
    onDenied: () -> Unit,
): PermissionLauncher {
    return PermissionLauncher(
        rememberLauncherForActivityResult(
            ActivityResultContracts.RequestMultiplePermissions()
        ) { map ->
            if (!map.containsValue(false)) {
                onGranted()
            } else {
                onDenied()
            }
        }
    )
}

class PermissionLauncher(
    val launcher: ManagedActivityResultLauncher<Array<String>, Map<String, Boolean>>
)

我正在使用

accompanist-permissions
版本
0.29.0

© www.soinside.com 2019 - 2024. All rights reserved.