我知道我可以使用以下代码调用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);
答案 0 :(得分:1)
首先使用纯文本填充它们,第二步使用html格式化文本。
如果用户客户端支持html,它将显示html版本,否则它将显示未格式化。
标准要求EXTRA_TEXT,您必须提供它,html版本是可选的。
对于较低的API,支持库中有ShareCompat.IntentBuilder。
编辑:
我做了一点测试,看起来完全忽略了EXTRA_HTML_TEXT。
This answer说明了如何发送HTML电子邮件。如果用户客户端不支持HTML,他将从所有html标签中删除完全相同的消息。