0
アセットフォルダから複数の画像を添付します。電子メールは完全な成功を送信しますが、添付イメージは取得しません。電子メールに0 KBの画像を表示する。 ここに私のコード。何か考えてください。他の方法で複数の画像を送ることができます。androidのアセットから複数の画像をアセットから添付する
アセットフォルダから複数の画像を添付します。電子メールは完全な成功を送信しますが、添付イメージは取得しません。電子メールに0 KBの画像を表示する。 ここに私のコード。何か考えてください。他の方法で複数の画像を送ることができます。androidのアセットから複数の画像をアセットから添付する
最初の部分
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("jpeg/image");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
ArrayList<Uri> uris = new ArrayList<Uri>();
//convert from paths to Android friendly Parcelable Uri's
for (int i=0; i < arrImageslist.size(); i++)
{
Uri u=Uri.parse("file:///android_asset/DiseaseImages/"+arrImageslist.get(i));
uris.add(u);
}
emailIntent.putParcelableArrayListExtra(android.content.Intent.EXTRA_STREAM, uris);
startActivity(android.content.Intent.createChooser(emailIntent, "Send mail..."));
....
Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
sendIntent.setType("plain/text");
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"});
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Accident Capture");
sendIntent.putExtra(Intent.EXTRA_TEXT, emailBody);
ArrayList<Uri> uriList = getUriListForImages();
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList);
Log.d(TAG, "Size of the ArrayList :: " +uriList.size());
FormHolderActivity.this.startActivity(Intent.createChooser(sendIntent, "Email:"));
------------------ GetUriListForImages ---------- ----------------------
private ArrayList<Uri> getUriListForImages() throws Exception {
ArrayList<Uri> myList = new ArrayList<Uri>();
String imageDirectoryPath = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/folder/";
File imageDirectory = new File(imageDirectoryPath);
String[] fileList = imageDirectory.list();
if(fileList.length != 0) {
for(int i=0; i<fileList.length; i++)
{
try
{
ContentValues values = new ContentValues(7);
values.put(Images.Media.TITLE, fileList[i]);
values.put(Images.Media.DISPLAY_NAME, fileList[i]);
values.put(Images.Media.DATE_TAKEN, new Date().getTime());
values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put(Images.ImageColumns.BUCKET_ID, imageDirectoryPath.hashCode());
values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileList[i]);
values.put("_data", imageDirectoryPath + fileList[i]);
ContentResolver contentResolver = getApplicationContext().getContentResolver();
Uri uri = contentResolver.insert(Images.Media.EXTERNAL_CONTENT_URI, values);
myList.add(uri);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return myList;
}
sdcardの代わりに資産コードを入れてください。 .... – kanchan
これらの画像をsdcardに入れてメールに添付してみるとどうなるのですか? – user370305
資産フォルダに画像があります。私は資産フォルダから画像を送信したい。 – Dugs
これらの画像は、アンドロイドのために読めるようになっている可能性があります。アセットディレクトリとアセットのための電子メールアプリケーションは、アンドロイドアプリケーションのためにプライベートです。 – user370305