首页 > 解决方案 > 反应本机权限。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。

标签: react-nativeandroid-permissions

解决方案


如果您使用的是世博会,那么这将完成您的工作:



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/


推荐阅读