Expo ImagePicker.launchImageLibraryAsync缺少相机胶卷权限

时间:2018-05-13 17:57:53

标签: react-native expo create-react-native-app camera-roll

我正在使用create-react-native-app,我在尝试从相机胶卷中获取图像时遇到了权限问题。

当我调用方法时:ImagePicker.launchImageLibraryAsync,我收到错误:Missing camera roll permission.

import { ImagePicker } from 'expo';

export const getImageFromLibrary = () => ({
    type: GET_IMAGE_FROM_LIBRARY,
    promise: () => ImagePicker.launchImageLibraryAsync({
        height: '100px',
        width: '100px',
        base64: true
    })
});

错误:Missing camera roll permission.表明我的应用没有权限,因此我创建了另一个按钮来请求权限。

import { Permissions } from 'expo';

<Button
    onPress={() =>
        Permissions.getAsync(Permissions.CAMERA_ROLL)
            .then(console.log)
    }
><Text>get permission</Text></Button>

但是当我点击此按钮时,console.log()方法会返回:{status: "granted", expires: "never"}

这意味着授予权限而不会过期。但是,由于没有获得许可,仍然拒绝从图书馆获取图像的电话。

1 个答案:

答案 0 :(得分:1)

如果您可以升级到Expo 27.0.1和28.0.0版本,那么您应该能够看到它的正常运行。

我用CRNA项目对其进行了测试。很好。

祝你好运!