package com.example.emailandroid; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.Toast; /** * Email With Attachments example */ public class Main extends Activity { private static final String TAG = "Main"; private final static String EXTRA_RECIPIENT = "somebody@someplace.domain"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set the View Layer setContentView(R.layout.main); // The Event Listener onClicks are set in the XML } public void oneAttachment(View view) { Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); emailIntent.setType("text/html"); emailIntent.putExtra(Intent.EXTRA_EMAIL, EXTRA_RECIPIENT); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Subject"); // Obtain reference to (hard-coded) String and pass it to Intent emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.my_text)); startActivity(emailIntent); } public void twoAttachments(View v) { Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, "Test multiple attachments"); intent.putExtra(Intent.EXTRA_TEXT, "Mail with multiple attachments"); intent.putExtra(Intent.EXTRA_EMAIL, new String[]{EXTRA_RECIPIENT}); File baseDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); baseDir.mkdirs(); File f1 = new File(baseDir, "File1.txt"); writeToFile(f1, "This is file 1 contents"); File f2 = new File(baseDir, "File2.txt"); writeToFile(f2, "This is file 2 contents"); ArrayList<Uri> uris = new ArrayList<Uri>(); uris.add(Uri.fromFile(f1)); uris.add(Uri.fromFile(f2)); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); startActivity(intent); } private void writeToFile(File file, String contents) { file.delete(); try (PrintWriter pout = new PrintWriter(file)) { pout.println(contents); } catch (IOException e) { Toast.makeText(this,"Improbable IOException writing: " + e, Toast.LENGTH_LONG).show(); } } }