我试图通过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"));
}
谢谢;)
答案 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");