Отправить HTML письмо с намерением

Я хочу отправить HTML-сообщение по электронной почте, когда пользователь решит поделиться своим приложением. Я использую HTML для того, чтобы иметь индивидуальное и апелляционное сообщение.

Первый подход: я пытался создать строку с моим HTML (встроенный стиль), используя Html.fromHtml, но когда я получил электронное письмо, это был чистый текст, никаких настроек.

Второй подход, отправьте HTML-файл в приложении. Проблема с этим подходом состоит в том, что HTML не отображается, пока пользователь не откроет вложение.

Какое лучшее решение, возможно ли? Спасибо!

2 ответа

Вы можете достичь своей цели, используя этот метод Html.fromHtml(String);

Html.fromHtml("<font color='#ff123456'>text</font>")

Вы можете передать Spanned текст в вашем экстра. Чтобы убедиться, что намерение разрешается только для действий, которые обрабатывают электронную почту (например, приложения 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())
);
Другие вопросы по тегам