Android Intent для отправки электронной почты с приложением

Возможный дубликат:
Электронная почта из внутреннего хранилища

Письмо получает получатель, но без вложения. Вот код, любой эксперт знает, где я ошибся?

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"});
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..."));

Я не получаю сообщение с тостами. Спасибо.

Ответ 1

Try:

Uri.fromFile(file);

вместо:

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

Кроме того, попробуйте text/xml для вашего типа MIME, считая, что это XML файл, который предлагает ваше имя переменной.

Ответ 2

Файл, вероятно, не читается в мире.

EDIT: действительно. Попробуйте сделать это:

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