I can get both Mail and Gmail to attach multiple csv files to an email.
When sent via Mail all the attachments are delivered.
When sent by Gmail none of the attachments are delivered.
I have read the documentation Send Binary Content. I have searched but only found a solution for Gmail that does not work with Mail. Mail seems happy with just about any approach. Gmail just doesn't want to play.
Has anyone found a solution for sending multiple attachments that works with both Mail and Gmail?
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
String subject = context.getString(R.string.export_data_email_header);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.setType("text/csv");
ArrayList<Uri> uris = new ArrayList<Uri>();
if (diariesSelected) uris.add(Uri.fromFile(context.getFileStreamPath("diaries.csv")));
...
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
context.startActivity(emailIntent);
And the code used to create the file
FileOutputStream fos = context.openFileOutput(path, Context.MODE_WORLD_READABLE);
OutputStreamWriter writer = new OutputStreamWriter(fos);
writer.append(builder.toString());
writer.close();
fos.close();