Android 仅使用电子邮件应用程序发送带附件的电子邮件

2024-02-06

The 官方文档 https://developer.android.com/guide/components/intents-common#Email展示如何发送带有附件的电子邮件:

public void composeEmail(String[] addresses, String subject, Uri attachment) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("*/*");
    intent.putExtra(Intent.EXTRA_EMAIL, addresses);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.putExtra(Intent.EXTRA_STREAM, attachment);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

然后它说:

如果您想确保您的意图仅由电子邮件应用程序(而不是其他短信或社交应用程序)处理,请使用ACTION_SENDTO行动并包括"mailto:"数据方案。

Like so:

public void composeEmail(String[] addresses, String subject) {
    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);
    }
}

但实际上,我想要以上的组合......即发送一封带有附件的电子邮件and仅使用电子邮件应用程序。

但使用时intent.setData(Uri.parse("mailto:"))结合Intent.ACTION_SEND or Intent.ACTION_SEND_MULTIPLE,什么也没发生...根本没有电子邮件应用程序(或应用程序选择器)打开。

那么,如何发送带有附件(或多个附件)的电子邮件,同时将应用程序限制为电子邮件应用程序?


That mailto:没有收件人的 URI 字符串显示无效;尝试类似的方法:

intent.setData(Uri.parse("mailto:" + String.join(",", addresses)));

See RFC 6068 https://datatracker.ietf.org/doc/html/rfc6068:“mailto”URI 方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 仅使用电子邮件应用程序发送带附件的电子邮件 的相关文章

  • 带有自定义阵列适配器的微调器不允许选择项目

    我使用自定义阵列适配器作为微调器 但是 当在下拉列表中选择一个项目时 下拉列表保留在那里 并且微调器不会更新 这是错误行为 与使用带有字符串的通用数组适配器相比 这是自定义类 我错过了什么吗 谢谢 public class Calendar
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • Keycloak - 自定义 SPI 未出现在列表中

    我为我的 keycloak 服务器制作了一个自定义 SPI 现在我必须在管理控制台上配置它 我将 SPI 添加为模块 并手动安装 因此我将其放在 module package name main 中 并包含 module xml 我还将其放
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • 使用 Espresso 检查 EditText 的字体大小、高度和宽度

    如何使用 Espresso 检查 EditText 的字体大小 高度和宽度 目前要分割我使用的文本 onView withId R id editText1 perform clearText typeText Amr 并阅读文本 onVi
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项

随机推荐

  • 以编程方式获取 ec2 定价?

    有没有办法以编程方式获取 AWS 定价 每种实例类型的每小时成本 S3 上每月每 GB 存储的成本等 另外 有成本监控工具吗 例如 是否有一种工具可以按小时报告您的 EC2 实例使用情况 而不是每月 亚马逊就是这么做的 提前致谢 UPDAT
  • 在 WebRequest 中强制进行基本身份验证

    我正在集成将使用的网络服务 HTTP POST 用于请求和检索数据 远程服务器 需要根据 RFC 2617 进行基本身份验证 我的身份验证尝试失败了 它失败的原因是 即使我将 NetworkCredential 对象附加到 HttpWebR
  • Angular 6 ng build --prod 错误“错误错误:ngIfElse 必须是 TemplateRef,但收到‘true’。”

    ERROR 错误 ngIfElse 必须是 TemplateRef 但收到 true HTML 文件
  • 每行显示 3 个项目 - while 循环 - php/mysql [重复]

    这个问题在这里已经有答案了 我目前正在开发一个循环来显示 mysql 表中的项目 有没有一种简单的方法可以每行显示 3 个项目 到目前为止 我设法在 html 表格内的一行中显示所有项目 我将不胜感激任何帮助 代码 不带 html 表标签
  • 自动刷新网页

    我有一个网页 允许用户执行各种操作 进而修改数据库 此外 此 Web 应用程序需要跟踪数据库中随时间不断变化的各个字段 每隔几秒刷新一次页面是实现此目的的最佳方法吗 例如 如果页面上有一个很长的列表需要滚动 则由于刷新导致页面不断重置 因此
  • Android:如何录制视频并实时处理其帧?

    我有一个 SurfaceView 和一个 MediaRecorder 我用它来显示和录制视频 现在我想实时访问该视频上的各个帧以对其进行一些处理 我可以通过 MediaRecorder 对象访问帧吗 或者我必须添加一个监听器 None
  • 蛋白质序列编码

    我正在开发一个Python程序来计算一组字符串 蛋白质序列 的突变残基和位置的数字编码 存储在fasta格式文件中 每个蛋白质序列用逗号分隔 我正在尝试找到突变的位置和序列 我的fasta文件如下 MTAQDDSYSDGKGDYNTIYLG
  • Guzzle send() 方法导致 cURL 错误 35 Too much open files

    尝试使用 Guzzle 5 执行以下代码 client new GuzzleClient defaults headers User Agent gt static userAgentString request client gt cre
  • 如何将 ngOptions 与包含 HTML 实体的字符串一起使用?

    我正在使用 ng Options 构建选择菜单 但我的标签之一中有一个 HTML 实体 amp 标签显示为Books amp Stuff not Books Stuff 我的玉石是这样的 select ng show isType sele
  • 如何通过多个动作达成一个意图

    我想显示一个活动选择器 其中显示所有可以查看的应用程序and or编辑一些数据 有没有一种简单的方法可以做到这一点 或者我是否必须实现自己的活动选择器对话框 或者也许我可以直接子类化Intent 谢谢 我通过使用 EXTRA INITIAL
  • 动态路由在使用 Next.js 进行页面刷新时不起作用

    我使用 Next js 但动态路由出现错误 在我的应用程序中我使用getStaticPaths getStaticProps和这个 a offer title a 当我单击此链接时 动态路由显示我的页面没有任何问题 但是当我刷新同一页面时
  • Svg 剪辑路径根据视口调整大小

    我正在努力调整 HTML 设置中剪切的 svg 的大小 我寻找类似的解决方案 但还没有找到 我正在尝试根据垂直屏幕视口调整剪辑的 svg 大小 这是我的设置的 codepen 示例 slider image clip path url cl
  • 在 WP 8.1 的 ListView 中禁用点击动画

    在 WP 8 1 中 如何删除默认动画ListView当点击某个项目时 它会根据点击发生的位置向不同方向倾斜 平移 我不想要任何项目点击动画 动画来自 ListView 的 ItemContainerStyle 的 按下 状态 在设计器中选
  • python 模块会被导入两次吗?

    如果我有一个运行的文件import math 还有第二个文件import mathAND 导入第一个文件 是否加载math模块在内存中两次 当你这样做时import math它被导入并放入sys modules 接下来你做import ma
  • 如何在 C# 中设置/更改/删除按钮上的焦点样式?

    我有几个按钮 我修改了它们的外观 我将它们设置为带有背景和自定义边框的平面按钮 因此它们看起来很漂亮 不再像普通按钮 实际上 它们现在看起来像 Of fice 2003 按钮 这些按钮的边框为一像素 然而 当按钮被选择时 通过单击或键盘操作
  • 如何使用 Blazor 组件访问当前路由

    我有一个 ASP dot NET Web 应用程序 它有一个简单的导航栏 我尝试使用 Blazor 组件 如果该页面恰好是活动页面 它将改变导航栏并增加左边框的宽度 到目前为止 我使用的是 switch 语句 该语句将根据字符串表示的当前页
  • Android:在另一个不发射的 Kotlin Flow 中收集 Kotlin Flow

    我有以下方法 operator fun invoke query String Flow
  • 当调用命中缓存时,OutputCache 发送错误的 Vary 标头

    我有一个要缓存的操作方法 OutputCache Duration 60 5 Location OutputCacheLocation Any VaryByCustom index public ActionResult Index ret
  • 如何使用 jQuery 获取上一页 URL

    如何使用 jQuery 获取上一页 URL 我正在使用以下代码来获取当前页面位置 document ready function var pathname window location pathname 易如反掌 document rea
  • Android 仅使用电子邮件应用程序发送带附件的电子邮件

    The 官方文档 https developer android com guide components intents common Email展示如何发送带有附件的电子邮件 public void composeEmail Strin