使用强制执行 SDK 30 范围存储从文件路径读取图像

问题描述

我遇到了从 API 29 和 30 开始的范围存储导致的问题。 我可以使用 Mediastore API 成功将图像保存到允许的图片文件夹,并将图像路径保存到我的数据库。 然后在加载数据时,我获取路径并使用 glide 库将图片设置为 imageView。 在过去几周这停止工作,该应用程序无法再以常规方式访问图像。我也尝试过使用文件提供程序,但这也无济于事。 如果我将目标 sdk 降低到 28,一切正常,但这是一个临时修复,请帮忙!!

解决方法

查看这些链接以获取更多信息,我也在我的应用中解决这个问题。这仅适用于您设置了 targetSdkVersion 30 的情况。 虽然 Google 的文档不是很好,但这是我能找到的最好的信息来了解更多信息:

https://support.google.com/googleplay/android-developer/answer/10467955(确保展开此页面底部的部分)

https://www.reddit.com/r/androiddev/comments/mwaqn1/scoped_storage_recap/(这个更侧重于范围存储)