Embedding image in email in Android

前端 未结 2 472
[愿得一人]
[愿得一人] 2020-12-04 00:12

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 c

相关标签:
2条回答
  • 2020-12-04 00:39

    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.

    0 讨论(0)
  • 2020-12-04 00:49

    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);
    
    0 讨论(0)
提交回复
热议问题