意图.ACTION_SEND Whatsapp

时间:2011-12-26 19:14:41

标签: android stream android-intent share send

我试图通过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 个答案:

答案 0 :(得分: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工作。

答案 1 :(得分:0)

尝试将MIME类型更改为“audio / mpeg3”,以便第二行读取

share.setType("audio/mpeg3")

答案 2 :(得分:0)

WhatsApp也接受OGG格式:

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

答案 3 :(得分:0)

您必须在代码中包含此内容:

sendIntent.setPackage("com.whatsapp");