Я пытаюсь отправить несколько вложений с намерением в приложение электронной почты (не в приложение Gmail). Я использую:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "sample@email.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"This is an email");
emailIntent.putExtra(Intent.EXTRA_TEXT, "This is the body");
File f1 = null;
File f2 = null;
try {
f1 = new File("/sdcard/test");
f2 = new File("/sdcard/test.1");
FileWriter fw1 = new FileWriter(f1);
FileWriter fw2 = new FileWriter(f2);
fw1.write("this is some text");
fw2.write("this is more text");
fw1.close();
fw2.close();
} catch (IOException e) {
e.printStackTrace();
}
ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.fromFile(f1));
uris.add(Uri.fromFile(f2));
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,uris);
startActivity(emailIntent);
Когда Gmail используется для обработки Намерения, он показывает оба приложения, и все работает просто отлично. Когда вместо этого используется приложение электронной почты, вложения не добавляются. При использовании одного Uri в EXTRA_STREAM одно вложение работает, а использование ArrayList - нет. Я собрал этот код из других вопросов, заданных здесь, но ни один из них не решил эту проблему. Кто-нибудь может помочь?