【问题标题】:Embedding image in email in Android在 Android 的电子邮件中嵌入图像
【发布时间】:2011-03-10 01:48:06
【问题描述】:

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

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

【问题讨论】:

    标签: android email html-email


    【解决方案1】:

    要将图片放在正文中,您需要将内容类型设置为“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);
    

    【讨论】:

    • 我已经试过了,但这只显示字符串,而不是图像,拜托......你能给出确切的代码......
    • 如果您看到文本,那么您没有将内容类型设置为“text/html”
    • 我也遇到了同样的问题@kalandar。你有什么解决办法吗?
    • @RyanConrad 请您详细说明一下?
    • @user5716019 详细说明了什么?这包含在电子邮件中嵌入图像所需的所有详细信息。您还在寻找什么其他信息?
    【解决方案2】:

    如果您的图片(或文件)在 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

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 2015-01-29
      • 2014-10-03
      • 2015-03-14
      • 2011-10-30
      • 2016-11-06
      • 2017-11-05
      • 2010-12-18
      相关资源
      最近更新 更多