Java 如何获取从whatsApp处理的Uri的实际路径

Java 如何获取从whatsApp处理的Uri的实际路径,java,android,Java,Android,我试图将文件从一个文件夹复制到另一个文件夹,我所有的代码都工作正常,但当我试图移动从whatsApp处理的文件时,发生了一个错误 列“\u data”不存在 当我从媒体处理文件时,它工作正常,Uri为: content://media/external/audio/media/52889 但如果文件是从whatsApp处理的,Uri将是: content://com.whatsapp.provider.media/item/5033 那么,我如何才能从whatsApp获得Uri的真实路径呢 这是

我试图将文件从一个文件夹复制到另一个文件夹,我所有的代码都工作正常,但当我试图移动从whatsApp处理的文件时,发生了一个错误

列“\u data”不存在

当我从媒体处理文件时,它工作正常,Uri为:

content://media/external/audio/media/52889

但如果文件是从whatsApp处理的,Uri将是:

content://com.whatsapp.provider.media/item/5033

那么,我如何才能从whatsApp获得Uri的真实路径呢

这是日志目录:

原因:java.lang.NullPointerException:println需要一条消息


非常感谢您的帮助,感谢您提供的帮助。请尝试创建从WhatsApp或任何第三方应用程序接收的URI的InputStream对象。这样可以将介质上载到服务器或执行其他任务

Intent intent = getIntent();
imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
InputStream is = getContentResolver().openInputStream(imageUri);

注意:-这必须在收到意图或在同一基本活动中立即执行。

您不需要
Uri
的路径,而是需要
Uri
InputStream
,请参阅
ContentResolver
文档了解如何获取it@pskink你能给我一个链接吗,感谢您的帮助Read@pskink我使用内容解析器打开steam,如下所示:InputStream InputStream=getContentResolver().openInputStream(audioUri);但是现在我需要把这个文件复制到另一个文件夹,我怎么能呢?谷歌搜索:
java copy-InputStream