0

我知道当您拥有有效的文件路径和 URI 时,可以发送电子邮件附件。

    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");

ArrayList<Uri> uris = new ArrayList<Uri>();

String[] filePaths = new String[] {image1 Path,image2 path};
for (String file : filePaths) {
    File fileIn = new File(file);
    Uri u = Uri.fromFile(fileIn);
    uris.add(u);
}

if ( !(app_preferences.getString("email", "") == null || app_preferences.getString("email", "").equals(""))) {
    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {app_preferences.getString("email", "")});    
}

emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject name");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Please find the attachment.");
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

startActivity(Intent.createChooser(emailIntent, "Email:"));

我将图像存储在数据库中(作为 BLOB)。(我知道这被认为不是一个好的做法,但我有足够的理由这样做)。

我知道可以从数据库中选择图像,将其存储在 SD 中,发送电子邮件,然后从 SD 卡中删除图像,但我不是在寻找这种解决方案。

那么,是否可以只附加一个没有任何实际文件路径的位图(因为它存储在我的数据库中)。

4

1 回答 1

0

是的你可以

将您的 blob 转换为字节数组,然后使用 JavaMail 的 ByteArrayDataSource 附加它。

于 2013-08-20T22:15:05.753 回答