世博会缺少相机胶卷权限
Posted
技术标签:
【中文标题】世博会缺少相机胶卷权限【英文标题】:Missing camera roll permission in expo 【发布时间】:2019-01-28 15:44:28 【问题描述】:我有“更改图像”按钮,我想使用相机胶卷来更改图像。 但我收到警告说我没有使用相机胶卷的权限。 如何检查是否授予权限?如果不是,我想请求许可。
这是我现在的代码:
_pickImage = async () =>
let result = await ImagePicker.launchImageLibraryAsync(
allowsEditing: true,
aspect: [4, 3],
);
console.log(result);
if (!result.cancelled)
this.setState( image: result.uri );
;
这可能是一个非常愚蠢的问题,但我在这里有点困惑......
如果您需要更多信息,请发表评论。
谢谢!
【问题讨论】:
【参考方案1】:如果您使用 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
,你决定。文档很有帮助!
【讨论】:
第一,你能不能编辑 "permissions.status" 到 "permission.status" ,那个 "s" 是多余的,第二,所以它检查正确,但是我如何请求许可,这样在您按“接受”或“拒绝”的地方出现警报? 我编辑了我的评论,也许对你有更多帮助 哦,它起作用了...我忘了给出正确答案。谢谢顺便说一句! 你真的需要打电话给getAsync
,我想askAsync
只会在没有提供权限的情况下询问。以上是关于世博会缺少相机胶卷权限的主要内容,如果未能解决你的问题,请参考以下文章