博览会中缺少相机胶卷许可

时间:2018-08-22 11:28:10

标签: javascript react-native permissions expo

我有“更改图像”按钮,我希望用户使用胶卷来更改图像。
但是我得到警告,我没有使用相机胶卷的权限。
如何检查是否已授予许可?如果不是,我想寻求许可。

这是我现在的代码:

    _pickImage = async () => {
        let result = await ImagePicker.launchImageLibraryAsync({
          allowsEditing: true,
          aspect: [4, 3],
        });
    
        console.log(result);
    
        if (!result.cancelled) {
          this.setState({ image: result.uri });
        }
    };

这可能是一个非常愚蠢的问题,但是我在这里有点困惑...

如果您需要更多信息,请发表评论。

谢谢!

1 个答案:

答案 0 :(得分:8)

如果您正在使用Expo,则可以从Expo获得Permission。跟随他们的文档,很棒!

它看起来像这样:

import { Permissions } from 'expo';

async componentDidMount() {
  const permission = await Permissions.getAsync(Permissions.CAMERA_ROLL);
  if (permission.status !== 'granted') {
      const newPermission = await Permissions.askAsync(Permissions.CAMERA_ROLL);
      if (newPermission.status === 'granted') {
        //its granted.
      }
  } else {
   ....your code
  }
}

链接到Expo

我用一些新代码进行了编辑。您可以决定完全使用askAsync。该文档非常有帮助!