我有发送电子邮件的代码:
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的
如何将列表限制为电子邮件客户端?
添加
intent.setData(Uri.parse("mailto:"));
我收到:“没有应用程序可以执行此操作”。
答案 0 :(得分:1)
实际上,在你的意图中......
ACTION_SEND 是一个通用的Intent操作,任何想要的应用程序都可以支持。您所做的就是指出您要共享的数据以及该数据的MIME类型 - 从那里,用户可以从可用的活动中进行选择。
唯一的方法是使用Explicit Intent
进行操作,Email Application
实际知道 PackageName ,以及它响应的ACTION
类型。