从 ACTION_GET_CONTENT Intent android 的 Uri 获取最近、下载、图像的文件路径

发布于 2025-01-11 17:30:43 字数 799 浏览 0 评论 0原文

我正在使用意图 ACTION_GET_CONTENT 在我的 Android 应用程序中调用图像选择器。 在 onActivityResult() 中,我使用 data.getData() 获取 Uri。

现在我正在使用现有的代码来压缩该图像,但这需要图像的文件路径。

我在从 Uri 解析最近、下载、图像的路径时得到 null。

我在 contentResolver.query() 上使用 Uri 投影 MediaStore.Images.Media.DATA。它为除“最近”、“下载”、“图像”之外的所有其他选项获取了正确的文件路径。

我怎样才能使这些工作发挥作用?该解决方案应该适用于最新的 Android 版本。

Uris 不工作:

下载 - content://com.android.providers.downloads.documents/document/msf%3A2375

最近 - content://com.android.providers.media.documents/document/msf%3A2375

图片 -

content://com.android.providers.media.documents/document/msf%3A2375

外部存储 -

content://com.android .externalstorage.documents/document/primary%3ADownload%2Fimages%20.jpeg

Uri 工作:

content://media/external/images/media/2165

I am invoking image picker in my android app using intent ACTION_GET_CONTENT.
In onActivityResult() I get Uri using data.getData().

Now I am using an already existing code to compress this image but that requires filePath to the image.

I am getting null while parsing path from Uri for Recents, Downloads, Images.

I use projection MediaStore.Images.Media.DATA on contentResolver.query() with Uri. It fetched correct filePath for all other options except Recents, Downloads, Images.

How can I make these work ? The solution should work on latest Android version.

Uris not working:

Downloads- content://com.android.providers.downloads.documents/document/msf%3A2375

Recents -
content://com.android.providers.media.documents/document/msf%3A2375

Images-

content://com.android.providers.media.documents/document/msf%3A2375

External Storage -

content://com.android.externalstorage.documents/document/primary%3ADownload%2Fimages%20.jpeg

Uri working:

content://media/external/images/media/2165

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文