¿Alguien dará ejemplo para enviar correo con adjuntos en Android?

Necesito desarrollar una pequeña aplicación de correo electrónico que tenga que generar CSV y enviar ese documento CSV con Android. Tengo que enviar este archivo adjunto sin guardar en el almacenamiento. Me resultó difícil adjuntar el archivo CSV utilizando el escritor de archivos y mi código de la siguiente manera:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    buttonSend = (Button) findViewById(R.id.buttonSend);

    textTo = (EditText) findViewById(R.id.editTextTo);
    textSubject = (EditText) findViewById(R.id.editTextSubject);
    textMessage = (EditText) findViewById(R.id.editTextMessage);

    buttonSend.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

          String to = textTo.getText().toString();
          String subject = textSubject.getText().toString();
          String message = textMessage.getText().toString();

          Intent email = new Intent(Intent.ACTION_SEND);
          email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
          //email.putExtra(Intent.EXTRA_CC, new String[]{ to});
          //email.putExtra(Intent.EXTRA_BCC, new String[]{to});
          email.setType("text/csv");
          email.putExtra(Intent.EXTRA_SUBJECT, subject);
          email.putExtra(Intent.EXTRA_TEXT, message);
        email.putExtra(Intent.EXTRA_STREAM,generateCsvFile("testdata.csv"));

          //need this to prompts email client only

          startActivity(Intent.createChooser(email, "Choose an Email client :"));

        }
    });
}
public static FileWriter generateCsvFile(String sFileName) throws IOException
   {
       FileWriter writer;
       writer = new FileWriter(sFileName);
       writer.append("DisplayName");
       writer.append(',');
       writer.append("Age");
       writer.append('\n');

       writer.append("RajeshV");
       writer.append(',');
       writer.append("26");
       writer.append('\n');

       writer.append("Mrithula");
       writer.append(',');
       writer.append("29");
       writer.append('\n');

      return writer;
    }

}

Tengo un problema en esta línea:

email.putExtra(Intent.EXTRA_STREAM,generateCsvFile("testdata.csv"));

Respuestas a la pregunta(5)

Su respuesta a la pregunta