2011-12-26 5 views
4

Im пытается поделиться файлом mp3 через whatsapp. Он отлично работает с другими приложениями, такими как gmail, но он работает над whatsapp. Может кто-нибудь мне помочь? Нужно ли добавить putExtra()?Intent.ACTION_SEND Whatsapp

Вот мой код:

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

Спасибо;)

ответ

6

Вы должны скопировать ваш аудиофайла на SDCard и делить его как файл, а не как ресурс 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

Этот код не работает для меня, я получаю сообщение «Не удалось отправить, пожалуйста, попробуйте еще раз», хотя я сохранил файл в 'sdcard' –

0

Попробуйте изменить тип MIME для "аудио/mpeg3", так что вторая линия читает

share.setType("audio/mpeg3") 
+0

Благодаря 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); 
1

Вы должны включить это в вас код:

sendIntent.setPackage("com.whatsapp"); 
Смежные вопросы