怎么知道支持哪种电子邮件客户端?

时间:2013-05-29 07:48:28

标签: android

我知道我可以使用以下代码调用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);

1 个答案:

答案 0 :(得分:1)

您有EXTRA_TEXTEXTRA_HTML_TEXT

首先使用纯文本填充它们,第二步使用html格式化文本。

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

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

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

编辑:

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

This answer说明了如何发送HTML电子邮件。如果用户客户端不支持HTML,他将从所有html标签中删除完全相同的消息。