如何在我的应用程序中获取从 Whats 应用程序的聊天中选择的图像路径?

Posted

技术标签:

【中文标题】如何在我的应用程序中获取从 Whats 应用程序的聊天中选择的图像路径?【英文标题】:How to Get Image Path in my App which is Selected from Whats app's Chat? 【发布时间】:2018-03-03 21:59:52 【问题描述】:

我有带有图像视图的演示应用程序,在这个图像视图中我需要设置从 whats app 聊天中选择的图像, 目前我正在获取所选图像的路径,即 content://com.whatsapp.provider.media/item/245429

有什么办法解决这个问题吗? 提前谢谢你。

【问题讨论】:

【参考方案1】:

没有图像路径,因为不要求此 Uri 指向文件,更不用说指向您可以直接访问文件系统的文件。

使用图片加载库(例如 Glide、Picasso)并提供您从 WhatsApp 获得的 Uri。这些库知道如何使用ContentResolveropenInputStream() 读取与该内容关联的字节,使用BitmapFactory.decodeStream() 将这些字节转换为Bitmap,然后将Bitmap 放入您的ImageView

【讨论】:

感谢您的建议,我已经尝试过 Picasso ,但是没有并且抛出异常“找不到文件”,有没有办法从图库中获取本机图像路径,在 Whats App 实时聊天中选择了哪个文件,或从设备库中识别所选图像及其路径 @dharam: "但那不是并且抛出异常 "File Not Found"" -- 然后用 minimal reproducible example 提出一个单独的堆栈溢出问题,显示您的代码和错误的完整 Java 堆栈跟踪. “有什么方法可以从图库中获取本机图像路径”——没有。 请检查link 我也有同样的问题。 这是 Gmail 中的完美作品,即首先您在 whats 应用程序中从聊天中选择一张图片,然后与 gmail 分享,它可以很容易地显示在那里,但同样我的应用程序中的东西我正在从什么应用程序获取编码路径。 @dharam:您链接到的问题的答案与我建议的解决方案相同:使用openInputStream()。如果您遇到问题,正如我所写的,请使用 minimal reproducible example 提出一个单独的 Stack Overflow 问题,其中显示您的代码和错误的完整 Java 堆栈跟踪。

以上是关于如何在我的应用程序中获取从 Whats 应用程序的聊天中选择的图像路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何从网站获取特定数据并将其显示在我的应用程序中?

在我的 React 应用程序中获取 api 数据时如何修复 CORS 错误?

如何在我的应用程序中获取推送通知设置?

如何在我的应用 iOS6 中获取行车路线

如何获取其他程序内存的地址,然后在我的程序中读取

如何获取 Chromecast Sender SDK 的生产版本以包含在我的应用程序中