我有一个通过编程生成的图像,我想通过
我的第一次尝试(写入基于
是否有其他文件位置适合我写入我的文件?我考虑过下载文件夹,但认为这对于仅需要存在直到发送电子邮件的内容来说可能是一个尴尬的位置。
我甚至尝试了纯粹在
有人能够通过任何方式将单次生成的图像附加到电子邮件意图中吗?我可能忽视了哪些选项?
ACTION_SEND
和 EXTRA_STREAM
方法将其作为附件发送。但是我该如何做到呢?我的第一次尝试(写入基于
context.getCacheDir()
的文件路径)似乎在Gmail预览中起作用(没有图像预览,但附加文件名和图标可见),但附件从未到达收件人那边。我猜这与生成文件的权限有关,但如何避免这种情况?我需要在这些生成的文件上设置更宽松的权限设置(以便Gmail活动可以访问)吗?对于应用程序的缓存文件夹是否可以实现?是否有其他文件位置适合我写入我的文件?我考虑过下载文件夹,但认为这对于仅需要存在直到发送电子邮件的内容来说可能是一个尴尬的位置。
我甚至尝试了纯粹在
data:image/png;base64,ABCD...
风格的URI中编码我的图像。这也出现在Gmail预览中(附件图标,但没有文件名),但不会导致接收方的附件。有人能够通过任何方式将单次生成的图像附加到电子邮件意图中吗?我可能忽视了哪些选项?
ContentProvider
来完成。它不需要额外的权限,并且还可以消除对SD卡的依赖。 - HRJ