我发送一封电子邮件,其中包含在我的应用程序中检索到的数据,如:
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()));
答案 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));