在java中为电子邮件正文设置粗体、斜体和更大的文本



我发送了一封电子邮件,其中包含在整个应用程序中检索到的数据,例如:

String body = formatEmailBody();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"}); // Set receipient here
i.putExtra(Intent.EXTRA_SUBJECT, "Subject");
i.putExtra(Intent.EXTRA_TEXT   , body);
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

其中formatEmailBody只是创建一个String作为我的电子邮件正文发送。

但是一个简单的字符串很无聊,我如何添加粗体/斜体/更大的文本?

我尝试过以下几项都没有成功:

Html.fromHtml(new StringBuilder()
.append("<p><b>Some Content</b></p>")
.append("<small><p>More content</p></small>")
.toString()));

您是否了解Intent,尤其是"常量"部分,您可以看到:

EXTRA_HTML_TEXT:与Intent关联的常量字符串,与ACTION_SEND一起使用,以HTML格式文本的形式提供EXTRA_TEXT的替代项。

但请注意:

与Intent关联的常量字符串,与ACTION_SEND一起使用,以HTML格式文本的形式提供EXTRA_TEXT的替代项。请注意,您还必须提供EXTRA_TEXT。

所以下面这样的东西应该会提高html内容正确显示的几率:-

i.setType("text/html");
i.putExtra(Intent.EXTRA_HTML_TEXT, htmlText);
i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(htmlText));

最新更新