Android con intención de enviar correo electrónico con archivo adjunto

Posible duplicado:
Correo electrónico desde el almacenamiento interno

El destinatario recibe el correo electrónico, pero sin el archivo adjunto. Aquí está el código, ¿algún experto sabe dónde me equivoqué?

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"}); intent.putExtra(Intent.EXTRA_SUBJECT, "subject here"); intent.putExtra(Intent.EXTRA_TEXT, "body text"); File root = Environment.getExternalStorageDirectory(); File file = new File(root, xmlFilename); if (!file.exists() || !file.canRead()) { Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show(); finish(); return; } Uri uri = Uri.parse("file://" + file); intent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(intent, "Send email...")); 

No recibo ningún mensaje de brindis. Gracias.

Tratar:

 Uri.fromFile(file); 

en lugar de:

 Uri.parse("file://" + file); 

Además, pruebe text/xml para su tipo MIME, suponiendo que se trata de un archivo XML como sugiere su nombre de variable.

El archivo probablemente no sea legible en todo el mundo.

EDITAR: de hecho. Intenta hacer esto:

 Uri uri = Uri.parse("file://" + file.getAbsolutePath());