3

我知道我可以使用以下代码调用 Android 的默认电子邮件客户端来发送电子邮件。
在支持纯文本的电子邮件客户端中,我需要使用"\n"来制作换行符,但在支持 html 的电子邮件客户端中,我需要使用"<br/>"来制作换行符。
怎么知道支持什么样的邮件客户端?谢谢!

Intent emailIntent=new Intent(Intent.ACTION_SEND);         

String subject = "Your sms sent by email";
String body = "aa"+"<br/>"+"bb";

String[] extra = new String[]{"aa@gmail.com"};
emailIntent.putExtra(Intent.EXTRA_EMAIL, extra);

emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
emailIntent.setType("message/rfc822");

startActivity(emailIntent);
4

1 回答 1

1

你有EXTRA_TEXTEXTRA_HTML_TEXT

填充它们,首先使用纯文本,其次使用 html 格式的文本。

如果用户客户端支持 html,它将显示 html 版本,否则将显示未格式化。

EXTRA_TEXT 是标准要求的,您总是必须提供它,html 版本是可选的。

对于较低的 API,支持库中有ShareCompat.IntentBuilder

编辑:

我做了一个小测试,看起来 EXTRA_HTML_TEXT 完全被忽略了。

这个答案解释了如何发送 html 电子邮件。如果用户客户端不支持 HTML,他将从所有 html 标记中删除完全相同的消息。

于 2013-05-29T08:13:08.843 回答