首页 > 解决方案 > Android 发送电子邮件 Intent 显示非电子邮件应用

问题描述

我想使用从我的应用程序提供的一些预填充数据(例如附件和电子邮件主题)打开设备电子邮件应用程序。我正在关注https://developer.android.com/guide/components/intents-common.html#Email上的官方指南。但问题是应用程序选择包含许多非电子邮件客户端以及 SMS、Facebook 等。该指南说,要确保电子邮件应用程序,请使用ACTION_SENDTO action and include the "mailto:". 我对其进行了测试,发现它工作正常。唯一的问题ACTION_SENDTO是我无法发送附件。我尝试使用"mailto:"withACTION_SENDACTION_SEND_MULTIPLE它没有用。这是我的代码:

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("*/*");
    String[] email = { "test.email@gmail.com" };
    intent.putExtra(Intent.EXTRA_EMAIL, email);
    intent.putExtra(Intent.EXTRA_SUBJECT, "Test subject");
    intent.putExtra(Intent.EXTRA_TEXT, "Test body");
    Uri uri = My File Uri
    intent.putExtra(Intent.EXTRA_STREAM, uri);
    if (intent.resolveActivity(.getPackageManager()) != null) {
      startActivity(intent);
    }

我在这里做错了什么或遗漏了什么吗?

我在 stackoverflow 上浏览了一些主题,例如Send Email Intent中的主题,但对我的情况没有帮助。

标签: androidandroid-intent

解决方案


推荐阅读