为java中的电子邮件正文添加粗体,斜体和更大的文本

时间:2017-01-19 11:51:50

标签: java android email

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

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()));

1 个答案:

答案 0 :(得分:0)

您是否看过Intent,尤其是“常数”部分,您会看到:

  

EXTRA_HTML_TEXT:   与Intent关联的常量String,与ACTION_SEND一起使用,以EXTRA_TEXT的替代方式提供HTML格式的文本。

但请注意here

  

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

如下所示,可以提高正确显示html内容的几率: -

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