javascript - 世博会缺少相机胶卷许可

标签 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 });
        }
    };

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

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

谢谢!

最佳答案

如果您正在使用 Expo,您可以从 Expo 获得 Permission。遵循他们的文档,太棒了!

它看起来像这样:

import * as Permissions from 'expo-permissions';

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,由您决定。这些文档非常有帮助!

关于javascript - 世博会缺少相机胶卷许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51965855/

相关文章:

javascript - 复选框取消点击事件Javascript

javascript - React-Native 将应用链接到 Facebook Messenger

java - 防止 JVM 写入 System.out 或从 System.in 读取

mysql - #1130 - 不允许主机 ‘localhost’ 连接到此 MySQL 服务器

javascript - 如何使按钮在函数运行后可见。 react native

WordPress 无法写入文件

javascript - 将mysql数据库的php查询搜索限制为非空行

javascript - 什么是 KeyboardEvent#detail?

javascript - 为什么我不能使用 Angular 代码在 D3.js 上画一条线?

android - React-native-share 在 Android 版本 7 及更高版本中无法正常工作?