有効なファイル パスと 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:"));
画像を DB に (BLOB として) 保存します。(それが良い習慣ではないと考えられていることは知っていますが、そうする十分な理由があります)。
DB から画像を選択し、SD に保存し、電子メールを送信してから、SD カードから画像を削除することは可能ですが、この種の解決策は探していません。
したがって、実際のファイルパスなしでビットマップを添付することは可能ですか(DBに保存されているため)。