2012-05-07 3 views
4

Я пытаюсь создать намерение, которое запустит приложение MMS для меня с прикрепленным файлом изображения и некоторым предопределенным текстом, присутствующим в теле сообщения.Android-намерение Android с изображением и текстом тела

До сих пор я мог выполнить либо или, но не оба одновременно.

Вещи, которые я пробовал (с их результатами):

sendIntent = new Intent(android.content.Intent.ACTION_SEND,Uri.parse("mms://")); 
sendIntent.setType("image/gif"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, imgStreamUri); 
sendIntent.putExtra("sms_body", "HelloWorld"); 
startActivity(Intent.createChooser(sendIntent,"Send"));  
/********** 
Image file is attached but no text added to message body. 
**********/ 

sendIntent = new Intent(android.content.Intent.ACTION_SEND); 
sendIntent.setType("image/gif"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, imgStreamUri); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "HelloWorld"); 
sendIntent.putExtra(Intent.EXTRA_TITLE, "WorldHello"); 
startActivity(Intent.createChooser(sendIntent,"Send")); 
/********** 
Image file is attached but no text added to message body(or subject or anything). 
**********/ 

Кто-нибудь знает, как я могу прикрепить как основной текст и файл изображения в MMS-намерениях, который будет запускать приложения обмена сообщениями по умолчанию с соответствующим предметы заполнены?

EDIT: Протестирован код @lenik, указанный в ответе. Она работает на некоторых устройствах, вот что я нашел

работает правильно:

  • Эпическая 4g (Galaxy S)
  • Эпическая 4g Touch (Galaxy S II)
  • Galaxy Nexus (ICS 4.0. 4)
  • Желание HTC (Froyo 2.2)
  • Motorola Фотон

ИМА GE прилагается, но текст:

  • Sidekick 4g
  • компании Samsung Transform Ультра

Каждый знает, если я в основном s.o.l. на устройствах, которые не работают должным образом таким образом?

ответ

8

Следующий код работает для меня:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.putExtra("sms_body", "Hi how are you"); 
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/sdcard/file.gif"))); 
intent.setType("image/gif"); 
startActivity(Intent.createChooser(intent,"Send")); 
+0

Я получаю текст не добавляется. На каком устройстве вы работали? – FoamyGuy

+0

работает на моем HTC Desire (Froyo 2.2) и Galaxy Nexus (ICS 4.0.4). – lenik

+0

, пожалуйста, попробуйте использовать мой sorce ** verbatim **, скорее всего проблема связана с вашим параметром 'imgStreamUri', если у него неправильное содержимое, текст или файл не отображаются должным образом в сообщении MMS. – lenik