Search code examples
androidstreamandroid-intentsharesend

Intent.ACTION_SEND Whatsapp


Im trying to share a mp3 file through whatsapp. It works perfectly with other apps like gmail, but it dosent works on whatsapp. Can anyone help me? Do I need to add some putExtra()?

Here's my code:

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"));
}

Thanks ;)


Solution

  • You should copy your audio file to sdcard, and share it as file, not as android resource, like this:

    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)));
    

    Now it should work through whatsapp.