当前位置: 首页 > 知识库问答 >
问题:

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

微生弘
2023-03-14

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

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显示以下错误:

然而,当我尝试使用Android的下载应用程序共享同一个文件时,Messenger的一切都很好。

为什么Messenger不能正确处理我的共享请求,而所有其他应用程序都能正确处理,我的代码中需要做哪些更改,才能与下载应用程序中的共享方式相同(这样才适用于Messenger)?

共有2个答案

汪阿苏
2023-03-14

我长期以来一直面临这个问题,我所做的实际上是把这2行代码,现在它可以适用于任何文件格式和任何文件名。

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

感谢@cs气泡的评论。

鄢雅畅
2023-03-14

我发现Facebook Messenger不接受包含空格的文件名,这意味着你不能共享名为“audio test.mp3”的音频文件,但如果它名为“audio\u test.mp3”,它可以正常工作

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

 类似资料:
  • 我正在编写一个Android语音录制应用程序。我有一个按钮,我点击分享我的音频文件。但是如果名称有空格,我无法在Messenger中共享。Gmail对此没有任何问题。 我使用以下代码:

  • 我正在尝试制作一个用于共享音频文件的按钮。这不起作用。首先,我试图直接从原始文件夹发送文件,而不将其复制到手机卡上。这并没有解决我的问题。我尝试的第二件事是将文件保存到手机上,然后共享。将文件保存到手机的部分现在可以工作了,但当我尝试将音频文件共享到其他设备时,所有兼容的应用程序(Whatsapp、Gmail等)都崩溃了。 这是我的代码: 顺便说一下,音频文件是一个。ogg文件。我希望这些应用程序

  • 问题内容: 我正在Python中进行多处理实验,并试图在两个进程之间共享一个字符串数组。这是我的python代码: 运行脚本时,我看到该脚本已正确填充,并且可在中找到,但不能在中找到。结果如下: 我忽略了什么吗? 预先感谢您的反馈。:) 问题答案: 我的猜测是: 存储3个指针。将它们分配给当前进程之外没有意义的内存地址。尝试访问此时包含垃圾邮件的无意义地址。 分配对所有过程都有意义的值似乎有帮助:

  • 我希望我的应用程序从SD卡播放. ogg音频文件,但媒体播放器和SoundPool无法为某些特定的ogg文件执行此操作。我有问题要播放的示例声音属于Telegram。下面的代码适用于其他ogg文件和mp3格式,但在播放此类声音时会给我错误。 示例文件下载链接:http://www.mediafire.com/download/fxr4z4hh7b2gv50/test.ogg 它引发以下异常:

  • 我正在使用Facebook SDK 4.2通过Android版的Facebook Messenger发送一个文件(具体来说,我正在导出一个序列化对象)。 但是,每个人都只提到图像、音频和视频。甚至文档也没有提到“text/平原”作为支持的MIME类型。 出于curosity,我决定尝试使用“image/jpeg”共享文件,结果成功了。文件已发送,messenger允许下载,但我认为这不是正确的方式

  • 今天,我制作了一个在Android中播放音乐的应用程序。 使用MediaPlayer播放音频文件时失败;它无法播放任何文件音频。此异常引发日志cat,如: E/MediaPlayer:错误(1,-2147483648) 带系统。错误:java。io。IOException:准备失败:状态=0x1 W/System.err:android.media.MediaPlayer.prepare(本机方法