选择程序发送电子邮件

时间:2012-05-18 06:44:33

标签: android email

我有发送电子邮件的代码:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{MyApp.sInstance.ErrorsMail});
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.Proposal));
//intent.setType("plain/text");
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent, getString(R.string.SendEmail)));

不幸的是,它不仅告诉我电子邮件应用程序: 的Skype,FTP,Google云端硬盘,GMail的

如何将列表限制为电子邮件客户端?

UPDATE:

添加

intent.setData(Uri.parse("mailto:"));

我收到:“没有应用程序可以执行此操作”。

1 个答案:

答案 0 :(得分:1)

实际上,在你的意图中......

ACTION_SEND 是一个通用的Intent操作,任何想要的应用程序都可以支持。您所做的就是指出您要共享的数据以及该数据的MIME类型 - 从那里,用户可以从可用的活动中进行选择。

唯一的方法是使用Explicit Intent进行操作,Email Application实际知道 PackageName ,以及它响应的ACTION类型。