gpt4 book ai didi

javascript - Android相机权限请求不触发请求弹窗

转载 作者:行者123 更新时间:2023-11-28 03:37:04 29 4
gpt4 key购买 nike

我正在使用 React Native 并绑定(bind)为我的 Android 应用程序授予应用程序相机权限。

我使用的是 RN v0.59.9 和 SDK 28。

使用下面的代码,应用成功请求访问联系人的权限,但它不请求相机权限,即使相机权限请求的代码是直接从 official docs 中提取的。

可能出了什么问题?

import { PermissionsAndroid } from 'react-native';

export const requestPermissions = () => {
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
{
'title': 'Contacts',
'message': 'The app would like to view your contacts.'
}
)
requestCameraPermission();
}

async function requestCameraPermission() {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: 'Cool Photo App Camera Permission',
message:
'Cool Photo App needs access to your camera ' +
'so you can take awesome pictures.',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK',
},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('You can use the camera');
} else {
console.log('Camera permission denied');
}
} catch (err) {
console.warn(err);
}
}

更新

如果我像这样删除联系人权限请求:

export const requestPermissions = () => {
// PermissionsAndroid.request(
// PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
// {
// 'title': 'Contacts',
// 'message': 'The app would like to view your contacts.'
// }
// )
requestCameraPermission();
}

function requestCameraPermission() {
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: 'Cool Photo App Camera Permission',
message:
'Cool Photo App needs access to your camera ' +
'so you can take awesome pictures.',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK',
},
);
}

相机请求有效,所以看起来我不能像这样链接它们?

最佳答案

来自评论:权限对话框不会阻止,因此在第一个示例中,它在显示联系人对话框后立即尝试请求相机权限。 IIRC,这将导致第二个请求立即返回空结果,并且您看不到任何内容。正如我提到的,我对 React Native 并不熟悉,但我猜想如果你也在联系人 block 中执行等待,它就会起作用。

关于javascript - Android相机权限请求不触发请求弹窗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57623535/

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