проблема с отправкой электронного письма с приложением программно - PullRequest
4 голосов
/ 08 августа 2009

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

Я пробовал следующие способы добавить вложение в почту ...

метод - 1

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("image/jpeg");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/abc.jpg"));

метод 2

Отправка изображения в виде содержимого тела ---

sendIntent.putExtra(Intent.EXTRA_TEXT, "<HTML><BODY><b><IMG**SRC=
\"data:image/jpeg;base64," + <imagepath> + "\"**alt = \"**pleaseview this
image\"/></b></BODY></HTML>");

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

Пожалуйста, дайте мне знать, если есть способ отправить вложение программно с помощью почтового клиента

Ответы [ 2 ]

15 голосов
/ 08 августа 2009

Я думаю, что ваша проблема в том, что вы не указали правильный путь к файлу.

У меня работает следующее:

Intent i = new Intent(Intent.ACTION_SEND);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setType("image/jpg");
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/Pictures/
image.jpg"));
startActivity(i);

Обратите внимание, что путь к файлу имеет 3 "/", первые два для заголовка "file: //", другой, потому что sdcard dir находится внутри корня файловой системы, который в Linux является "/".

1 голос
/ 08 апреля 2012

Я считаю, что Uri, который вы используете, неверен. Я попробовал file:///mnt/sdcard/ и работал вполне нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...