Это разочаровывающе не поддерживается в Android. Одним из обходных путей является использование Java Mail
и выяснение этого самостоятельно. Я использовал библиотеку droidQuery , чтобы записать мой HTML
в файл и прикрепить его к электронному письму:
final Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
String html = "<div>Place Your HTML here.</div>";
shareIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(html));
shareIntent.setType("text/html");
$.with(this).write(html, FileLocation.EXTERNAL, "email.html", false, false, new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
String file = ((File) params[1]).getAbsolutePath();
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file));
startActivity(shareIntent);
}
}, new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
Log.e("$", (String) params[1]);
}
});
Затем добавил этот блок вверху HTML <body>
(также плохо отформатирован в электронной почте Android):
<div style="background: gray; color: black; align='center'" >
Trouble viewing this email? Open the attachment to view in your web browser.
</div>
Если вы рассматриваете первый подход (Java Mail), я бы рекомендовал использовать расширение droidMail для droidQuery
, которое использует библиотеку для предоставления упрощенного API.