在Android中的电子邮件中嵌入图像

时间:2010-06-30 10:50:38

标签: android email html-email

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

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

2 个答案:

答案 0 :(得分:4)

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

Info & Sample

<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);

答案 1 :(得分:4)

如果您的图像(或文件)位于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。

有关详细信息,请查看this post