当我点击一个按钮时,我使用以下代码启动电子邮件,并用数据库查询中的数据填充它。
问题是,在单击按钮时弹出的“发送邮件...”对话框中,它只提供以下选项:
* Evernote - create note
* Gmail
* Skype
我需要通过我的工作Microsoft Exchange服务器(我的主电子邮件客户端)发送此信息,但不提供(但是,当我点击其他应用程序中的Web超链接或类似按钮时):< / p>
private void sendEmail(String recipient, String subject, String message) {
try {
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
if (recipient != null) emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient});
if (subject != null) emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
if (message != null) emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
} catch (ActivityNotFoundException e) {
// cannot send email for some reason
}
}
有什么想法吗?
答案 0 :(得分:2)
好的,所以我在这篇文章中找到了答案:How to open Email program via Intents (but only an Email program)
更改MIME类型就是答案,这是我在我的应用中为改变相同的行为所做的。我使用了intent.setType(“message / rfc822”);
像梦一样工作!
答案 1 :(得分:0)
当屏幕弹出并且您可以选择需要发送数据的应用程序时,请选择“设置默认操作”。因此,下次您使用应用程序发送电子邮件时,它将打开您选择的默认应用程序