在 Android 中将图像嵌入到电子邮件中

发布于 2024-09-07 06:22:04 字数 99 浏览 12 评论 0原文

是否可以以编程方式将图像嵌入到 Android 中的邮件应用程序发送的电子邮件正文中?

我可以使用 ACTION_SEND 意图来执行此操作,还是应该自己撰写电子邮件?

Is it possible to programatically embed an image in the body of an email sent by the Mail app in Android?

Can I use the ACTION_SEND intent to do this, or should I compose the email myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

左岸枫 2024-09-14 06:22:04

要将图像放入正文中,您需要将内容类型设置为“text/html”,然后在电子邮件正文中放入 img 标签。如果您不想使用网络服务器来托管图像,那么您可以使用图像的数据 uri。

信息和信息示例

<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP
C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA
AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J
REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq
ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0
vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />

如果您想将图像附加到电子邮件中,您可以使用 putExtra 方法并将其设置为 EXTRA_STREAM。

emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, myImageStream);

to put the image in the body, you need to set the content type to "text/html" and then put an img tag in the email body. if you don't want to use a webserver to host the image, then you can use a data uri for the image.

Info & Sample:

<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP
C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA
AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J
REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq
ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0
vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />

If you want to attach an image to the email, you use the putExtra method and set it to EXTRA_STREAM.

emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, myImageStream);
娇妻 2024-09-14 06:22:04

如果您的图像(或文件)在SD卡中,则可以进行如下操作:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/your_path_in_the_sd_card/your_image.png"));
startActivity(shareIntent);

如果您不想发送图像,则需要修改“setType()”方法中的MIME。

有关更多详细信息,请查看这篇文章

If your image (or file) is in the SD card, you can proceed as follow:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/your_path_in_the_sd_card/your_image.png"));
startActivity(shareIntent);

If you don't want to send image, you need to modify the MIME in the "setType()" method.

For more details check this post.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文