我使用了这个库 | https://github.com/Dhaval2404/ImagePicker我收到了来自 android play 控制台的警告,团队我们检测到您的应用在您的 1 个或多个 app bundle 或 APK 的 list 文件中包含 requestLegacyExternalStorage 标志。在运行 Android 11+ 的设备上拥有应用程序的开发人员必须使用 Scoped Storage 为用户提供对其设备存储的更好访问控制。要在 5 月 5 日之后在 Android 11 或更高版本上发布您的应用,您必须:
最佳答案
设备中的应用程序在内部存储器中有一些私有(private)存储,您可以在 中找到它。安卓/数据/your_package_name
目录 .除了这个内部存储,其余的
存储称为共享存储,即每个应用程序都有
storage 权限可以访问这部分内存。这包括
媒体收藏和不同应用程序的其他文件。但是
问题是具有存储权限的应用程序没有
需要访问所有这些文件。他们想要的只是表演
对内存的一小部分进行一些小操作,那就是
它。例如,某些应用程序只需要选择一个用户图像
将其作为个人资料图片上传,仅此而已。那么,为什么要提供
他们拥有对该共享存储的完全访问权限?
存储上的广泛写入能力,然后生成的文件
应用程序分散,当用户卸载
应用程序然后由应用程序生成的文件保留在
仅存储并且不会被删除并且占用大量空间。
可以获得他们需要的特定访问权限,而无需获得如此广泛的访问权限
他们实际上并不需要的阅读和写作能力。这可以是
在 的帮助下完成范围存储 .
注意:- 从 Android 11 开始,谷歌强制使用 Scope Storage 检查这个Link
关于android - 如何从 android 11 设备的共享存储中选择图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67230072/