1

我正在使用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"}

这意味着许可被授予而永不过期。但是从库中获取图像的调用仍然因为没有权限而被拒绝。

4

1 回答 1

1

如果您可以升级到 expo 版本 27.0.1 和 28.0.0,那么您应该能够看到它正常工作。

我用 CRNA 项目对其进行了测试。它工作正常。

祝你好运!

于 2018-08-01T15:56:31.050 回答