1

我有一个可怕的问题..我希望有人知道这个问题..

在作为 React Native 的包装 API 的 EXPO App 中,Expo Image picker 示例应用程序如何在不向用户请求任何外部存储访问权限的情况下访问图库(外部存储)?

原始源代码在这里.. https://docs.expo.io/versions/latest/sdk/imagepicker/

我尝试删除任何 askAsync(CAMERA_ROLL.permission) 或 getAsync(CAMERA_ROLL.permission)。所以示例应用程序没有访问外部存储的权限......但是!我按下按钮,它访问画廊......这怎么可能?我仔细检查了应用程序的权限,但没有授予外部存储权限...

请让我知道...我认为首先请求许可,然后访问外部存储是合适的。

PS我只用安卓手机测试过。

没有这个应用程序的权限

应用程序上的 gui

按下按钮后,它访问外部存储!

我从来没有检查过权限..

4

1 回答 1

0

要阻止 expo 应用程序获得此权限,请执行以下操作:

  1. 删除对权限请求的所有引用(您已经这样做了)
  2. 删除图像启动器(但您似乎不想这样做)
  3. 清除expo申请媒体访问权限

第 3 步是您要查找的内容,要清除应用程序设置,请转到您的手机设置 -> 应用程序管理 -> 选择 expo 应用程序 -> 权限并清除图库/媒体权限。

现在,当您再次运行该应用程序时,即使按您提到的按钮,您也将无法访问图库,并且如果您包含 getAsync 以请求权限,您将提示您请求权限。


编辑:

要显式设置独立应用程序的权限,请修改您的app.json文件并在 android 配置下添加“权限”参数,默认情况下,expo 使用您设备的所有权限。在那里指定您希望您的应用程序拥有的权限。

有关如何配置文件的更多详细信息,请参阅此链接。app.json

希望这可以帮助!

于 2019-10-06T22:14:12.823 回答