我正试图通过电子邮件从我的应用程序发送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();
}
但是当我运行此代码时,我会在选择器中显示大量应用程序:
我试图在没有createChoser
的情况下开始活动,我尝试将类型更改为text/html
,我尝试使用ACTION_SENDTO
代替ACTION_SEND,我分别尝试了它们,我尝试将它们合并,但我仍然得到了所有这些应用程序。有时甚至更多。当它们合并时,应用程序就崩溃了。
那么有没有办法将此列表限制为仅限电子邮件客户端?