【发布时间】:2020-09-17 23:34:54
【问题描述】:
在我在 Google Play 商店上发布的 react 本机应用程序中,我需要相机胶卷权限。这在测试期间有效,但在应用的已发布版本中无效。
getPermissionAsync = async () => {
const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL);
if (status !== "granted") {
alert("Sorry, we need camera roll permissions to make this work!");
}
await this.setState({ permission: status === "granted" });
};
_pickMedia = async () => {
if (this.state.permission != true) {
await this.getPermissionAsync();
}
if (this.state.permission == true) {
// get image
}
};
在测试中,它按预期工作,每次用户尝试上传图片时都请求访问相机胶卷的权限,直到给出。然而在生产中,用户会被提示一次允许使用相机胶卷,无论他们是否允许,都会出现警告框并且用户无法选择图像。如果他们再次尝试添加媒体,则不会提示他们授予权限,只会再次发出警报。
根据博览会文档,我已在 app.json 中将 READ_EXTERNAL_STORAGE 添加到我的权限中:
"android": {
"permissions": ["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"],
}
有人能告诉我为什么这在生产中不起作用吗?
【问题讨论】:
标签: android react-native permissions expo