я нашел способ послать электронное письмо простого текста с помощью намерения:
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new
String[]{"example@mail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test");
Но я должен отправить форматированный текст HTML.
Попытка к setType ("текст/HTML") не работает.
Вы можете передать Spanned
текст в свой extra. Чтобы гарантировать, что намерение разрешается только действиям, которые обрабатывают электронную почту (например, Gmail и приложения электронной почты), вы можете использовать ACTION_SENDTO
с Uri, начинающимся со схемы mailto. Это также будет работать, если вы заранее не знаете получателя:
final Intent shareIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "The Subject");
shareIntent.putExtra(
Intent.EXTRA_TEXT,
Html.fromHtml(new StringBuilder()
.append("<p><b>Some Content</b></p>")
.append("<small><p>More content</p></small>")
.toString())
);
] Я еще не (пока) начал разработку Android, но в документации [] [] говорится, что если вы используете EXTRA_TEXT, то тип MIME должен быть text/plain. Похоже, что если вы хотите видеть HTML, вам придется использовать EXTRA_STREAM вместо этого...[
]] А как насчет того, чтобы просто попытаться добавить немного html в текстовую область?[
] [emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "<strong>Test</strong>");
]