Android 发送不显示电子邮件意图的图像

Android 发送不显示电子邮件意图的图像,android,sqlite,email,Android,Sqlite,Email,我正在尝试通过ACTION_send从我应用程序中的数据库发送电子邮件。所有功能都正常工作,所有包含用户详细信息的字段都在电子邮件正文中使用html正确格式化。然而,当我也需要发送图像时(使用android上的标准内置电子邮件客户端),我会得到一个祝酒词,上面显示“无法附加文件” 我从SO那里寻找并尝试了各种解决方案,但没有一个对我有帮助 这就是我所拥有的: Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND

我正在尝试通过ACTION_send从我应用程序中的数据库发送电子邮件。所有功能都正常工作,所有包含用户详细信息的字段都在电子邮件正文中使用html正确格式化。然而,当我也需要发送图像时(使用android上的标准内置电子邮件客户端),我会得到一个祝酒词,上面显示“无法附加文件”

我从SO那里寻找并尝试了各种解决方案,但没有一个对我有帮助

这就是我所拥有的:

 Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND);

    String aEmailList[] = {"user@example.com", "user1@example.com"};
    messageIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
    messageIntent.putExtra(Intent.EXTRA_CC, new String[]{"user2@example.com", "user3@example.com"});
    messageIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);

    messageIntent.setType("text/html");
    messageIntent.setType("image/png");
    messageIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    Log.v(getClass().getSimpleName(), "simageUri=" + Uri.parse("file://"+ image));
    messageIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+ image));
    startActivity(messageIntent);
}
现在,图像是文件保存在我的数据库中的位置。我尝试了
image.getAbsolutePath
,但由于出现空指针异常而崩溃

在my String.xml中,我必须查看电子邮件的正文

<string
    name="feedbackmessagebody_format">
    <![CDATA[
    <html>
    <head>
   <style>
   table {
  border-collapse: collapse;
   }

    td, th {
    border: 1px solid black;
    padding: 3px;
    }
   </style>
    </head>
   <body>
   <table>
   <col width="300">
  <tr>
  <th>Field</th>
  <th>Description</th>
  </tr>
  <tr>
  <td><b>Image: </b></td>
  <td>%22$s</td>
  </tr>
  </table>

  </body>
  </html>
   ]]></string>

不确定我缺少了什么?

您可以使用easyimage库获取图像,它将向您发送文件路径。请查看详细信息[链接]()只是一个简单的问题?是否有一种方法可以代替附加图像而在电子邮件正文中显示图像?请查看以下回答“我已尝试image.getAbsolutePath,但它会因空指针异常而崩溃”--然后
图像
为空,而
文件:/“+image
将为
file://null
,这不是指向映像的有效文件系统路径。还要注意的是,您调用了两次
setType()
(只执行第二次),并且应用程序不需要同时执行
EXTRA\u TEXT
EXTRA\u STREAM
@commonware谢谢。我得到了它的工作,但只是作为附件,但真的想显示在电子邮件正文中的图像,而不是上传图像到网络服务器。然后,使用该图像的URL。@commonware,谢谢,但我没有Web服务器,但会制定一个计划。谢谢
    String recepientEmail = ""; // either set to destination email or leave empty
    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:" + recepientEmail));
    intent.putExtra(Intent.EXTRA_SUBJECT,"email subject");
    intent.putExtra(Intent.EXTRA_TEXT,message);
    intent.putExtra(Intent.EXTRA_STREAM,filePath);
    startActivity(intent);
    String recepientEmail = ""; // either set to destination email or leave empty
    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:" + recepientEmail));
    intent.putExtra(Intent.EXTRA_SUBJECT,"email subject");
    intent.putExtra(Intent.EXTRA_TEXT,message);
    intent.putExtra(Intent.EXTRA_STREAM,filePath);
    startActivity(intent);