如果我们在android中有base64格式的图片,如何通过电子邮件发送图片?

时间:2014-01-16 11:27:45

标签: android

我想通过电子邮件发送带有消息的图片,我也想在我的电子邮件正文中显示该图片。我已经尝试过这段代码,但它无法正常工作,我做了什么。这是我的代码:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "");
emailIntent.setType("text/html");
Uri uri = Uri.fromFile(getFileStreamPath( "<img src=data:image/*;base64,#mediaUrlBase64#\">"));
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(emailIntent);

这是照片: - image

...三江源:)

1 个答案:

答案 0 :(得分:1)

<强>尝试:

我使用了粗体标记锚标记,如下所示,这些标记工作正常,但当我使用 img标记时,我可以能够看到一个方形框,表示为OBJ:

 i.putExtra(Intent.EXTRA_TEXT,Html.fromHtml("<b>Hi</b><a href='http://www.google.com/'>Link</a> <img src='http://url/to/the/image.jpg'>",
    imgGetter,
    null));
i.setType("image/png");

还试过这个:

"<img src=\"http://images.anandtech.com/doci/3982/HTCSurround-0134.jpg\">"

但没有运气。我从SO那里找到了一些答案,发现遗憾的是,用Intents做不到这一点。

例如粗体文本在EditText而不是图片中显示的原因是StyleSplan正在实施Parcelable,而ImageSpan则没有。因此,当在新的Activity中检索Intent.EXTRA_TEXT时,ImageSpan将无法取消选中,因此不会成为附加到EditText的样式的一部分。

由于您无法控制接收活动,因此遗憾的是,您无法使用其他方法在此处使用Intent传递数据。