android - 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_SEND
但ACTION_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中的主题,但对我的情况没有帮助。
解决方案
推荐阅读
- java - 如果底层流是并行的,那么收集 java 流很重要
- ios - 无法将弱分配给自定义数组
- swift - 单元格未填充在表格内的第二个集合视图中
- manim - 如何在 Manim 中更改 TextMobject 的文本大小
- javascript - 如何使具有布尔值的状态属性出现在屏幕上(反应表单)
- javascript - 如何使用 Instafeed.js 2.0.0 按最喜欢的方式排序
- rust - 什么是 Rust 等价于 C++ 的虚拟覆盖以防止代码重写?
- c# - FluentValidation 自定义扩展方法,带有来自基本实体的参数
- c# - 命名通用动作/方法
- html - 我想要四个内联翻转框和两行。以为我遵循了大约四个月前在您的网站上找到的步骤,但无法使其正常工作