Я пытаюсь отправить файлы (файлы .log), содержащиеся в папке SDCard, с помощью Intent. Это код:
public void sendMail() {
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"});
intent.putExtra(Intent.EXTRA_SUBJECT, "Log files");
intent.putExtra(Intent.EXTRA_TEXT, "body");
//has to be an ArrayList
ArrayList<Uri> uris = new ArrayList<Uri>();
//convert from paths to Android friendly Parcelable Uri's
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
File root = Environment.getExternalStorageDirectory();
File logfolder = new File(root, "log");
for (String file : logfolder.list()){
Uri u = Uri.parse(file);
uris.add(u);
}
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(intent, new String("Send mail...")));
}
}
Я выбираю Gmail из меню. Когда Gmail открыт, он правильно отображает письмо с получателем, темой, текстом и прикрепленными файлами. Письмо отправлено без ошибок, но я получаю уведомление в строке состояния, в котором говорится: «Не удалось показать вложение»! Фактически получатель получает электронное письмо правильно, но к нему нет вложения. Я не могу понять, в чем проблема. Почему не отправляются вложения? Помогите, пожалуйста!!