无法在Android上与Facebook Messenger共享音频:"抱歉,Messenger无法处理此文件"

时间:2016-11-29 21:33:26

标签: android facebook audio share messenger

我使用以下代码共享位于设备上的音频文件:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://pathToFile"));
intent.setType("audio/*");
activity.startActivity(Intent.createChooser(intent, "Share..."));

Android打开系统“共享”对话框,您可以在其中选择适当的应用来处理共享意图。音频文件已成功与Gmail,WhatsApp,Telegram和Google Drive共享。

但是Messenger显示以下错误:

enter image description here

但是,当我尝试使用Android的下载应用程序共享同一个文件时,它与Messenger完全一致。

enter image description here

为什么Messenger没有正确处理我的共享请求,而所有其他应用程序都执行,以及我的代码中需要更改的内容,因此它的工作方式与从Download应用程序共享的方式相同(因此它适用于Messenger) ?

2 个答案:

答案 0 :(得分:3)

我发现Facebook Messenger不接受包含空格的文件名,这意味着您无法共享名为“audio test.mp3”的音频文件,但如果将其命名为“audio_test”,它将正常工作。 MP3"

它也不接受非ASCII字符(á,ó,ñ,ç等)

答案 1 :(得分:1)

我长期面对这个问题,我实际上做的是放置这两行代码,现在它可以用于任何文件格式和任何文件名。

intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(pathToFile))); 

感谢@csbubbles的评论。