react-native - 反应本机权限。PermissionAwareActivity 问题
问题描述
为了测试和培训,我有这个代码。
async function testperm () {
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) {
alert('Camera ready to be used');
} else {
console.log('Permission denied');
}
}
catch (err) {
alert (err);
}
}
产品是这个
我找不到任何文档来解决这个问题。代码基于这个官方教程: https ://facebook.github.io/react-native/docs/permissionsandroid
有谁知道如何解决这个问题。我的应用程序的后端是用 JAVA 制作的,所以如果我需要在其中做一些事情是没有问题的。但我不知道该怎么做。
谢谢。
我忘了告诉。使用 Expo V 3。
解决方案
如果您使用的是世博会,那么这将完成您的工作:
import * as Permissions from 'expo-permissions';
async testperm() {
try {
const { status, expires, permissions } = await Permissions.askAsync(
Permissions.CAMERA
);
if (status !== 'granted') {
alert('Hey! You have not enabled selected permissions');
}
if (status === 'granted') {
alert('camera permission granted');
}
}
catch (err) {
alert(err);
}
}
componentDidMount = () => {
this.testperm();
}
甚至你可以请求多个权限(https://docs.expo.io/versions/latest/sdk/permissions/)
推荐阅读
- firebase-cloud-messaging - 在未发送 FCM 推送中需要帮助
- python - 在 Python 中输入列表时检查输入值是否符合某些条件
- javascript - NX monorepo 致命:没有这样的参考:'main~1'
- git - 我可以将 git 命令别名为用户定义的函数吗?
- vba - 在连续表单上创建文本框过滤器
- git - Git 合并而不暴露提交历史
- objective-c - 问题:接口'NSDate'上的类别'Addition'在不同的模块中有不同的定义
- postgresql - Postgres jsonb_set 和 jsonb_insert 没有将值附加到嵌套对象中
- c# - System.Security.Cryptography.CryptographicException:'输入数据不是一个完整的块。'
- android - 由于依赖错误,无法编译 Android Studio 应用程序