如何在尝试通过Android应用程序发送电子邮件时,只有电子邮件客户端可供选择?

时间:2014-08-07 08:44:18

标签: android email android-intent

我正试图通过电子邮件从我的应用程序发送HTML文本。所以我有这个代码:

StringBuilder sb = new StringBuilder();
// Lots of HTML building code...

Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_SUBJECT, trip_to_manipulate.getTrip_name());
i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(sb.toString()));
i.setType("message/rfc822");// to filter and display only email apps
try {
    startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(getActivity(), "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

但是当我运行此代码时,我会在选择器中显示大量应用程序:

enter image description here

我试图在没有createChoser的情况下开始活动,我尝试将类型更改为text/html,我尝试使用ACTION_SENDTO代替ACTION_SEND,我分别尝试了它们,我尝试将它们合并,但我仍然得到了所有这些应用程序。有时甚至更多。当它们合并时,应用程序就崩溃了。

那么有没有办法将此列表限制为仅限电子邮件客户端?

0 个答案:

没有答案