2013-05-11 2 views
3

Когда я пытаюсь отправить задание электронной почты, независимо от того, использую ли я INTENT.ACTION_SEND или ACTION.SENDTO и использую запасной почтовый клиент Sony Xperia Active, тема и получатели отображаются но тело пустое, за исключением стандартного комментария, вставленного клиентом. На моей Samsung Galaxy Note 2 такой же код работает как шарм.Элемент электронной почты не отображается при использовании намерения

if(mPrefs.getBoolean("alternative_email_client", false)){ 
     Intent send = new Intent(Intent.ACTION_SENDTO); 
     String uriText = "mailto:" + Uri.encode(emailStrings[6]) + 
       "?subject=" + Uri.encode("The subject") + 
       "&body=" + Uri.encode(emailBody); 
     Uri uri = Uri.parse(uriText); 
     send.setData(uri); 
     startActivity(Intent.createChooser(send, "Email verschicken")); 
    } else { 
     Intent send = new Intent(Intent.ACTION_SEND); 
     send.putExtra(Intent.EXTRA_EMAIL, emailStrings[6]); 
     send.putExtra(Intent.EXTRA_SUBJECT, "The Subject"); 
     send.putExtra(Intent.EXTRA_TEXT, emailBody); 
     startActivity(Intent.createChooser(send, "Email verschicken")); 
    } 

ответ

6

Чтобы отправить электронное письмо с телом, использование сообщений/rfc822.

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.setType("message/rfc822"); 
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]", "[email protected]" }); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject of the email"); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "Content of the email"); 
startActivity(sendIntent); 

Надеюсь, это поможет.

+0

Хорошо, это помогает с телом, но, используя это, я получаю новую проблему: получателей нет. Как это исправить? – neominik

+0

Странно. Я попробовал это с Gmail, и я вижу получателей. На какое приложение вы пытаетесь отправить сообщение? –

+0

Это тоже работает для меня: я забыл использовать String-Array для EXTRA_EMAIL. Он не работает с одной строкой. – neominik

0

Попробуйте добавить тип сообщения

... 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, myMessage); 
... 
+0

Ну, я действительно думал, что у меня это получится. Но даже если я добавляю эту строку, тело не отображается в приложении электронной почты. – neominik

Смежные вопросы