2015-05-05 2 views
1

Я пытаюсь отправить электронную почту через приложение для Android. В настоящее время используется Android Studio 1.2 и тестирование на Genymotion 2.4.0 на изображении Galaxy Nexus 4.3 (API 18) с установленными ARM-переводом и приложениями Google. Я знаю, что этот вопрос очень похож на this, но я пробовал каждое предложение там безрезультатно.EXTRA_SUBJECT не получает данные

Я могу получить электронное письмо (куда отправить) и «тело» письма, но не доступно для получения сообщения электронной почты. Код выглядит следующим образом:

Intent iEmail = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null)); 
iEmail.setType("text/plain"); 
// Both these "options" don't work 
iEmail.putExtra(Intent.EXTRA_SUBJECT, etTema.getText()); 
iEmail.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
// This works fine 
iEmail.putExtra(Intent.EXTRA_TEXT, etDesc.getText()); 
startActivity(Intent.createChooser(iEmail, "Choose:")); 

Когда активность начинается и я выбираю почтовый клиент электронной почты (для отправки) отображается правильно, так как это «тело», но тема остается пустым.

EDIT: результат всегда тот же, независимо от того, использую ли я EditText (etTema) или пытаюсь передать строку.

Любые предложения? Благодаря

ответ

0

Ваш код должен работать, но я помню, с помощью:

String uriText = "mailto:[email protected]" + 
    "?subject=" + Uri.encode("some subject text here") + 
    "&body=" + Uri.encode("some text here"); 
Uri uri = Uri.parse(uriText); 
Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
sendIntent.setData(uri); 
startActivity(Intent.createChooser(sendIntent, "Send email")); 

Смотрите, если это работает лучше через устройства/API для вас.

+0

Пробовал, но все еще не может получить информацию о «субъекте». Спасибо в любом случае @shkschneider –

0

Попробуйте просто сделать это. Это отлично работает для меня.

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null)); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, etDesc.getText()); 
startActivity(Intent.createChooser(emailIntent, "Send Email")); 
+0

Вот как я попробовал в первый раз (без «setType»). «Тема» по-прежнему пуста. –

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