Intent.ACTION_SEND Whatsapp

5

我试图通过 WhatsApp 分享 MP3 文件。在其他应用程序(如 Gmail)中可以完美运行,但在 WhatsApp 上不起作用。有人能帮帮我吗?我需要添加一些 putExtra() 吗?

以下是我的代码:

public void shareWithFriends(int id)
{       
  Intent share = new Intent(Intent.ACTION_SEND);
  share.setType("audio/mp3");
  //share.putExtra(Intent.EXTRA_SUBJECT,"subject");
  //Uri uri = Uri.parse("android.resource://com.igs.pokemonsoundboard/" + id);
  Uri uri = Uri.parse("android.resource://com.igs.pokemonsoundboard/raw/" + R.raw.pikachump3);
  share.putExtra(Intent.EXTRA_STREAM,uri);
  //share.putExtra("sms_body","Ringtone File :");
  startActivity(Intent.createChooser(share, "Share sound"));
}

感谢您的选择;)
4个回答

6

您应该将音频文件复制到sd卡上,并将其作为文件进行共享,而不是作为Android资源,就像这样:

final Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("audio/mp3");
shareIntent.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://"+path+filename));
startActivity(Intent.createChooser(shareIntent, getString(R.string.share_sound)));

现在应该可以通过Whatsapp正常使用。

2
这段代码对我来说不起作用,即使我已经将文件保存在“sdcard”中,仍然收到“发送失败,请重试”的消息。 - alvaro.delaserna

0
尝试将MIME类型更改为“audio/mpeg3”,以便第二行读取。
share.setType("audio/mpeg3")

谢谢onielse14,但它不起作用。我尝试将类型更改为mpeg3,但没有成功。还有其他的想法吗? - user1116665

0

WhatsApp 也支持 OGG 格式:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("audio/ogg");
shareIntent.putExtra(Intent.EXTRA_STREAM, getSoundUri());
startActivity(shareIntent);

0

你必须在你的代码中包含这个:

sendIntent.setPackage("com.whatsapp");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接