在google和stackoverflow中进行一些研究后,我了解到我能够为Android中的不同应用发送不同的内容,例如here。
但是,我遇到了一些问题。
如果选择了任何邮件客户端,我想发送HTML电子邮件(手机默认邮件客户端,Gmail应用,Outlook应用等)。在上面的链接中,我需要单独指定每个邮件应用程序,我想避免使用。
当我尝试通过GMAIL应用发送HTML电子邮件时。它的格式不符合预期。
答案 0 :(得分:0)
如果选择任何邮件客户端,我想发送HTML电子邮件
无法通过此方式查询用于仅发送电子邮件的活动,Intent.ACTION_SEND
将获取能够发送您定义的MIME_TYPE
的所有应用。
例如,如果您使用plain/text
作为MIME_TYPE
,则将返回可共享plain/text
的所有客户端。这取决于用户 - 他们想与哪个应用分享。但是,您可以比较包名称以确保选择了哪个应用程序。
假设您要检查是否已选择gmail客户端,
// Query about app that can send `text/plain`
final Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT,"text");
final List<ResolveInfo> activities = getPackageManager().queryIntentActivities (i, 0);
// Check if gmail is clicked, when the `chooser` item is clicked,
ResolveInfo info = activities.get(position);
if (info.activityInfo.packageName.contains("com.google.android.gm")) {
// Gmail was chosen
}
当我尝试通过GMAIL应用发送HTML电子邮件时。它不是 格式化它应该是。