如何在邮件中将图像作为正文内容发送 - Android

时间:2014-12-01 12:11:28

标签: android

我正在使用下面的代码,但这会发送邮件,但图片不会显示点。用点替换图像。

我想在邮件正文中显示图像。

String body="<!DOCTYPE html><html><body><img src=\""+Param.baseURL+mMessage.getMessages().get(position).getListPicture()+"\" style=width:100px;height:100px>" +
                          "<p>"+mMessage.getMessages().get(position).getText()+"</p></body></html>";

以上html在html文件中效果很好,但在发送电子邮件时这个显示图像为点。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");           
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "testemail");    
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body));
mContext.startActivity(Intent.createChooser(emailIntent, "Email:"));

请帮帮我。

2 个答案:

答案 0 :(得分:1)

不幸的是,使用Intents无法做到这一点。

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

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

但你可以做的是用邮件附上图像

intent.putExtra(Intent.EXTRA_STREAM, uri);

其中uri是文件路径URI。

答案 1 :(得分:0)

尝试这样可以帮到你,

String htmlString =“”;

String mailId="yourmail@gmail.com";
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, 
                                Uri.fromParts("mailto",mailId, null)); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject text here"); 
// you can use simple text like this
// emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"Body text here"); 
// or get fancy with HTML like this
emailIntent.putExtra(
         Intent.EXTRA_TEXT,
         Html.fromHtml(htmlString)
         );
startActivity(Intent.createChooser(emailIntent, "Send email..."));