使用“mailto:”方案通过意图发送电子邮件附件

2024-01-07

我正在使用此代码附加文件:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO);
String uriText;
Uri file = Uri.fromFile(new File(path));
uriText = "mailto:" + 
              "?subject=the subject" + 
              "&body=the body of the message"+
              "&attachment="+file;
uriText = uriText.replace(" ", "%20");
Uri uri = Uri.parse(uriText);
emailIntent.setData(uri);
startActivity(Intent.createChooser(emailIntent, "Send mail..."));

(注意path类似于“/sdcard/test.jpg”,我用过ACTION_SENDTO因为我只想在选择器中看到电子邮件应用程序。)

该意图将提供电子邮件应用程序列表,但附件不会出现在电子邮件或 Gmail 中。如何才能显示附件?


这似乎适用于我的 Galaxy Nexus 和 Nexus 4(均运行 Stock JellyBean API 17)。

具体来说:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected] /cdn-cgi/l/email-protection", null));
intent.putExtra(android.content.Intent.EXTRA_STREAM, Uri.fromFile(attachmentFile));
startActivity(Intent.createChooser(intent, "Send email..."));

这不适用于我的 Nexus One (Gingerbread API 10) 或更旧的设备。我不确定它从什么时候开始起作用。

也许其他人对此有更多细节?

当 ACTION_SENDTO 不合适时:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("vnd.android.cursor.dir/email");
intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "[email protected] /cdn-cgi/l/email-protection" });
intent.putExtra(android.content.Intent.EXTRA_STREAM, Uri.fromFile(attachmentFile));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“mailto:”方案通过意图发送电子邮件附件 的相关文章

  • 如何从我的班级访问活动 UI?

    我有一个活动创建我的类的对象实例 file MyActivity java public class MyActivity extends Activity TextView myView TextView findViewById R i
  • 以编程方式将 MenuItem 添加到菜单的特定位置或组

    我有一个
  • 如何在 Android 中的 onCreate() 内部创建方法

    如何在里面创建一个方法onCreate 方法 当我创建它的显示错误时 令牌 void 预期存在语法错误 并且如果无法在内部创建方法onCreate 方法比请告诉我如何在外部创建方法onCreate 并通过mContext and mActi
  • Android 通知 - 显示完整消息

    我的 Android 应用程序必须能够向一大群人发送简短的警报 执行此操作的明显位置是在通知中心 完整的通知毫无问题地显示在股票代码中 但在通知中心 用户只能看到前几个单词 然后是省略号 通知并不长 最多也就10 15个字 如何使文本自动换
  • 自定义视图的Ondraw无限循环android

    我的自定义视图的 OnDraw 函数被无限调用并且正在循环 可能的原因是什么 这是我的自定义视图 public class Balls extends View private static final String TAG BallsVi
  • Android 滚动视图无法以编程方式创建。

    我想在我的应用程序中使用滚动视图 我尝试将文本视图添加到滚动视图中 但除了滚动视图的背景颜色之外 我看不到任何渲染的内容 我是这样做的 public class MyView extends ViewGroup ScrollView myS
  • 如何在默认浏览器或webview中打开按钮点击url

    我怎样才能打开一个网址webview或者点击按钮后在默认浏览器中 目前 当我单击btn1按钮 它提示我从手机中选择一个浏览器 我想在默认浏览器或其他浏览器中打开此网址webview 这是我的java代码 public class myact
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • Android NDK C++“wstring”支持

    我有用 C 编写的源代码 lib 现在我想在 Android NDK 项目 NDK 6 中编译并使用相同的源代码 lib 我能够编译大多数 C 文件 除了基于 std wstring 的功能 在 Application mk 中 当我指定时
  • 检查应用程序是否首次运行[重复]

    这个问题在这里已经有答案了 我是 Android 开发新手 我想根据应用程序安装后首次运行来设置一些应用程序的属性 有什么方法可以发现应用程序是第一次运行 然后设置其首次运行属性吗 下面是一个使用的例子SharedPreferences实现
  • 从代码动态更改多个文本视图的大小(没有“磁盘上”xml 主题)?

    我有 10 个文本视图在我的代码中 我想更改所有代码的字体大小 在我的布局中我使用了 style定义通用属性 但是我不知道一旦布局出现在屏幕上如何从代码中更改它们 我不想做的是更新 AND 对象 但只写在一处 我知道我可以使用应用主题但这假
  • mgwt - 以编程方式改变方向

    是否可以在 gwt mgwt 应用程序中更改强制执行特定的屏幕方向 可以说我希望用户始终以横向模式使用应用程序 这取决于 是作为phonegap应用程序 而不是在浏览器内部 如果您作为 Web 应用程序运行 则不需要t get any co
  • Phonegap facebook 插件:android 的各种问题

    我正在尝试将 Phonegap 3 1 与 Phonegap facebook plugin 集成 以使我的应用程序能够使用 facebook 登录 https github com phonegap phonegap facebook p
  • 使用 qbs 构建 qt 应用程序

    我想知道在 Linux 上使用 qbs 编译 构建和创建 Android Qt 应用程序的步骤 我拥有所有必要的工具 目前我可以使用 qmake 创建 apk Qbs 目前不支持构建 Qt Android 应用程序 Qbs v1 4 中引入
  • 查找配对的 Android 蓝牙设备是否在范围内的正确方法?

    我想编写一个充当蓝牙客户端的应用程序 我想做的是找出最好的方法来确定我支持的特定设备是否在范围内 而不是一直尝试在其上执行 BluetoothDevice connect 并失败如果不在范围内 这里我们假设设备已经配对 恐怕在特定设备处于范
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • android 媒体播放器 - 如何禁用范围请求? (Nexus 7 上的音频流中断)

    我有一个音频流应用程序 它运行本地代理服务器 本地代理服务器与互联网流媒体源建立 http 连接 在本地获取并缓冲流数据 然后 在应用程序内部 我使用 MediaPlayer 连接到本地代理服务器 使用方法 mediaPlayer setD
  • 从包中发布的错误通知无法展开 RemoteViews

    我有个问题 有时我的服务会被这个 logcat 强制关闭 03 26 20 44 44 849 E AndroidRuntime 12080 FATAL EXCEPTION main 03 26 20 44 44 849 E Android
  • 无法通过usb调试安装android应用程序

    我知道这是一个老问题 但我第一次尝试在 Redmi note 4 上安装我的应用程序 每当我尝试安装时 它都会显示一个对话框 安装失败 并显示消息无法建立会话 通过卸载现有版本的 apk 如果存在 然后重新安装 可能可以解决此问题 警告 卸
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph

随机推荐

  • Scrapy - 设置 TCP 连接超时

    我正在尝试通过 Scrapy 抓取网站 然而 该网站有时非常慢 浏览器第一次请求时几乎需要 15 20 秒才能响应 不管怎样 有时 当我尝试使用 Scrapy 抓取网站时 我不断收到 TCP 超时错误 即使该网站在我的浏览器上打开得很好 这
  • 测试期间的 EF Core 内部缓存和许多 DbContext 类型

    我有很多个测试班 每个班有几十个测试 我想隔离测试 而不是大型上下文MyDbContext I use MyDbContextToTestFoo MyDbContextToTestBar MyDbContextToTestBaz等等 所以我
  • SSLContext 和 SSLSocketFactory createSocket 线程安全吗?

    在我的测试中 我能够毫无问题地使用两者 但我找不到说明 SSLSocketFactory createSocket 是否线程安全的文档 可以在多个线程中使用同一个 SSLSocketFactory 来创建 SSL 套接字吗 我的应用程序使用
  • 根据当前视图处理 ViewExpiredException

    我在我的项目中使用 JSF 2 0 和 Primefaces 我有两个 xhtml 页面 即 Cars xhtml 和 Bikes xhtml 我正在使用 ViewScoped 支持 bean 目前 如果从两个页面中的任何一个获取视图过期异
  • AudioQueueBuffers 之间的爆裂噪音

    我正在尝试使用 Core Audio AudioQueue Swift 3 播放纯正弦波音调 它播放得很好 但每次调用 AudioQueueOutputCallback 用音频数据填充新缓冲区时 我都会听到爆裂声 我的 AudioStrea
  • Eclipse 的“Google Maps API v3 for GWT”项目示例

    Google 在此发布了 GWT 的官方地图 v3 APIhttps groups google com forum topic gwt google apis 6SO5kCDqb k https groups google com for
  • 识别最近的网格点

    我有三个数组 lat 15 15 25 15 75 16 30 long 91 91 25 91 75 92 102 data array 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 9 99 9 99 9
  • 我的 pdf 文件是否采用 UTF-8 编码?

    我想知道 pdf 文件是否以 UTF 8 编码 如何检查pdf文件中使用了哪种字符编码 PDF 是二进制文件 而不是文本文件 像 UTF 8 这样的字符编码仅在文本文件 txt html xml csv 的上下文中才有意义 因此 PDF 绝
  • 为什么 MongoDB 配置服务器必须只有一个或三个?

    在阅读了 MongoDB 分片架构的官方文档后 我还没有找到为什么需要一到三个配置服务器 而不是其他数量 The 有关配置服务器的 MongoDB 文档 https docs mongodb org v3 0 core sharded cl
  • 栈帧和作用域之间有什么关系?

    最近我正在学习Python 中的范围界定 我了解什么是堆栈框架 但我对堆栈框架和作用域之间的关系和区别感到困惑 我通过 Python计算与编程简介 这本书来学习Python 它没有具体阐明这两个术语 范围只是 LEGB 之一 本地 封闭 全
  • PowerMockito 在尝试存根私有重载方法时抛出 NullPointerException

    我 仍在 尝试检查是否bar Alpha Baz called bar Xray Baz 使用 PowerMockito 如bar Xray Baz is private 考虑到我的 MCVE 课程 实际上没有调用后者Foo以下 我上过同一
  • ARM 汇编器中的寄存器操作数是如何编码的?

    我反编译了一些ARM ELF文件并阅读了汇编代码 但是 我不明白一些代码是如何翻译成助记符的 例如我得到这样的代码 hex code mnemonic binary 0xb480 push r7 1011 0100 1000 0000 0x
  • 有没有办法正确模拟重新选择选择器以进行单元测试?

    我的项目中有一个非常复杂的选择器结构 某些选择器可能最多有 5 层嵌套 因此其中一些很难通过传递输入状态进行测试 我想改为模拟输入选择器 然而我发现这实际上是不可能的 这是最简单的例子 selectors1 js export const
  • PHP 的 create_function() 与仅使用 eval()

    在 PHP 中 您有 create function 函数 它创建一个唯一的命名 lambda 函数 如下所示 myFunction create function foo return foo myFunction bar Returns
  • Dapper 批量插入返回序列 ID

    我正在尝试使用 Dapper 通过 Npgsql 执行批量插入 这会返回新插入行的 id 我的两个示例中都使用了以下插入语句 var query INSERT INTO MyTable Value VALUES Value RETURNIN
  • Java 数组索引越界异常

    当我需要将 5 个用户输入的值存储到一个数组中 将其发送到一个方法 并查找并显示最低值时 我一直在研究这个基本的 java 程序 该程序很简单 并且可以运行 但是当我输入最后一个数字时 出现错误 线程 main 中的异常 java lang
  • 调用 setCenter 后 OpenLayers,地图仍处于 0,0 位置

    我尝试通过 setCenter 方法设置地图中心 但仍然不起作用 地图不动 我尝试使用从投影到地图投影的变换 但没有成功 这是代码的一部分 谢谢
  • Spark Streaming中如何处理旧数据并删除处理后的数据

    我们正在运行一个 Spark 流作业 从目录中检索文件 使用 textFileStream 我们担心的一个问题是作业已停止但文件仍在添加到目录中的情况 一旦作业再次启动 这些文件就不会被拾取 因为它们在作业运行时不是新的或已更改 但我们希望
  • 如果中间缺少数字,则获取数字列的范围(最小/最大)

    如果数字在某处结束然后再次以更高的数字开始 我将如何查询数字列的范围 如果我有一个像这样的专栏 Number 1 2 3 4 5 11 12 13 我怎样才能返回这样的结果 Min Max 1 5 11 13 WITH CTE AS SEL
  • 使用“mailto:”方案通过意图发送电子邮件附件

    我正在使用此代码附加文件 final Intent emailIntent new Intent android content Intent ACTION SENDTO String uriText Uri file Uri fromFi