【问题标题】:share an audio file on whatsapp在 whatsapp 上分享音频文件
【发布时间】:2016-11-21 01:33:15
【问题描述】:

我正在开发一个允许与 whatsapp 共享音频文件的应用程序。

我正在使用此代码:

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/raw/song.mp3");
Intent waIntent = new Intent(Intent.ACTION_SEND);
waIntent.setType("audio/mp3");
waIntent.setPackage("com.whatsapp");
waIntent.putExtra(Intent.EXTRA_STREAM, uri);
try {
    startActivity(waIntent);
}catch (android.content.ActivityNotFoundException ex){
    Toast.makeText(Fung.this,"Please, install Whatsapp", Toast.LENGTH_LONG).show();
}

但是当whatsapp启动并尝试发送给某人时,显示此错误:“分享失败,请重试”。

当我更改此代码以发送文本时,它可以工作,但不适用于音频文件。有人知道为什么会发生这种情况以及如何解决吗?

【问题讨论】:

    标签: java android audio whatsapp


    【解决方案1】:

    我怀疑错误的原因是您尝试共享的文件位于您的应用程序中,而 WhatsApp 根本没有读取它的权限。您也不能简单地授予此权限(您不能有选择地授予其他应用程序访问您应用程序资源的权限),因此您需要将此文件复制到 SD 卡上的某个位置 - 然后使用文件的 URI SD 卡将 Intent 发送到 WhatsApp。

    更新:查看this question,了解如何复制文件的详细信息。

    【讨论】:

    • 我正在搜索,但没有找到如何将音频文件保存在内部存储中,只是文本文件。你有什么想法吗?
    • @lidiarocha 文本和二进制(在您的情况下为音频)文件之间没有区别。我更新了我的答案,提供了一个关于如何执行此操作的问题/答案的链接。
    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 2014-12-17
    • 2017-02-07
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    相关资源
    最近更新 更多