Вложения в электронную почту - PullRequest
1 голос
/ 17 февраля 2012

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

 emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(  "file://"+Environment.getExternalStorageDirectory()+""+attach));

вложенного файла, который я получил, просматривая телефон.Но вложение не отправляется. Пожалуйста, помогите.

Спасибо

1 Ответ

1 голос
/ 17 февраля 2012

Согласно моему посту, найденному здесь :

Создание почты на Android, которую пользователь может отправить с приложением по своему выбору, широко распространено в сети.Но дело не в том, как прикрепить файл, который будет отправлен с помощью googlemail.

Проблема здесь в том, что приложение gmail хочет отправлять только файлы, которые находятся на sdcard

Intent mail = new Intent(android.content.Intent.ACTION_SEND);
mail.setType("application/octet-stream");
mail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"my@mail.com"});
mail.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
mail.putExtra(android.content.Intent.EXTRA_TEXT, "Message");
mail.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + "/file.txt"));
PrefAct.startActivity(Intent.createChooser(mail, "Send mail via..."));

Как уже говорилось, Gmail отклонит ваше вложение, когда пользователь отправит письмо, когда файл не находится в ExternalStorage.

...