单击按钮打开电子邮件客户端

时间:2010-04-29 04:19:51

标签: android email

我正在设计一个应用程序,我需要在单击按钮时打开电子邮件客户端。应使用预定义的主题和“到”地址打开电子邮件客户端。有没有办法达到这个目的?如果可能的话,请提供解决方案和代码示例......

6 个答案:

答案 0 :(得分:72)

这样:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "some@email.address" });
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail body");
startActivity(Intent.createChooser(intent, ""));

或者,您可以使用IntentFactory.getSendEmailIntent(String mailTo, String mailCC, String subject, CharSequence body, File attachment)

答案 1 :(得分:25)

要仅显示电子邮件客户端,请使用以下代码:

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("mailto:recipient@example.com?subject=" + subject + "&body=" + body);
intent.setData(data);
startActivity(intent);

如果您已选择默认电子邮件客户端,则会启动它。否则,它将显示可用的电子邮件客户端列表。

答案 2 :(得分:0)

您可以在电子邮件中使用电子邮件配置您的电子邮件地址,从而在模拟器上打开电子邮件客户端然后当打电话时,意图将打开并发送邮件。

答案 3 :(得分:0)

如果屏幕上有一个电子邮件地址,则可以在xml中使用,如下所示:

android:autoLink="email"

答案 4 :(得分:0)

如果可能,例如intent.type ClipDescription.MIMETYPE_TEXT_PLAIN

,最好使用常量。

科特琳:

val intent = Intent(Intent.ACTION_SEND)
intent.type = ClipDescription.MIMETYPE_TEXT_PLAIN
intent.putExtra(Intent.EXTRA_EMAIL, arrayOf("emailId 1", "emailId 2"))
intent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Subject for email")
intent.putExtra(android.content.Intent.EXTRA_TEXT, "Description for email")
startActivity(Intent.createChooser(intent,"Send Email"))

答案 5 :(得分:0)

好-现在上述答案在2020年不再对我有用。我在对Google有用的Google官方开发人员网站上发现了一些内容。

 Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:")); // only email apps should handle this
    intent.putExtra(Intent.EXTRA_EMAIL, addresses);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }