4

我使用了这个库 https://github.com/Dhaval2404/ImagePicker  ,我收到了来自 android play console 的警告,团队我们检测到您的应用在 1 个或多个应用程序包的清单文件中包含 requestLegacyExternalStorage 标志或 APK。在运行 Android 11+ 的设备上拥有应用程序的开发人员必须使用 Scoped Storage 为用户提供对其设备存储的更好访问控制。要在 5 月 5 日之后在 Android 11 或更高版本上发布您的应用,您必须: 

4

2 回答 2

-1
<queries>
<intent>
    <action android:name="android.intent.action.PICK" />
</intent>

不要忘记将查询标签放在清单文件中。在清单文件中使用此代码...

于 2021-09-08T07:02:24.590 回答
-1
  • Android 10之前,我们有一个 Shared Storage 的概念。设备中的每个应用程序在内部存储器中都有一些私有存储,您可以在android/data/your_package_name 目录中找到它. 除了这个内部存储,其余的存储称为共享存储,即每个具有存储权限的应用程序都可以访问这部分内存。这包括媒体收藏和不同应用程序的其他文件。但问题是具有存储权限的应用程序不需要访问所有这些文件。他们想要的只是对内存的一小部分执行一些小操作,仅此而已。例如,某些应用程序只需要选择一个用户图像将其作为个人资料图片上传即可。那么,为什么要为他们提供对该共享存储的完全访问权限呢?

  • 此外,第二个问题是,当应用程序在存储上具有如此广泛的写入能力时,应用程序生成的文件会分散,当用户卸载应用程序时,应用程序生成的文件只保留在存储中,并且没有被删除并且占用大量空间。

  • 因此,我们需要某种机制,借助这种机制,应用程序可以获得它们所需的特定访问权限,而无需获得它们实际上并不需要的如此广泛的读写能力。这可以在Scoped Storage的帮助下完成。

注意:-从 Android 11 起,谷歌强制使用 Scope Storage检查此链接

于 2021-04-23T13:52:18.663 回答