如何知道支持哪种电子邮件客户端?

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);
1个回答

1

您有EXTRA_TEXTEXTRA_HTML_TEXT

填写它们,首先使用纯文本,第二个使用HTML格式的文本。

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

按照标准要求提供EXTRA_TEXT,HTML版本是可选的。

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

编辑:

我进行了一些测试,似乎完全忽略了EXTRA_HTML_TEXT。

这个答案解释了如何发送HTML电子邮件。如果用户的客户端不支持HTML,则他将获得完全相同的消息,其中所有HTML标记都被剥离。


谢谢!但是EXTRA_HTML_TEXT需要API minSdkVersion 16,而我的应用程序只有8。 - user1067528
请看更新。如果需要的话,我可以提供示例代码,但我认为使用它不应该有任何问题。 - Gustek
更新了,但看起来你不需要做太多的更改。 - Gustek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接