Проблема с отправкой электронной почты с приложением

Я пытаюсь отправить электронное письмо с помощью собственного почтового клиента на 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>");

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

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

Ответ 1

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

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

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://", а другой - потому, что dd файл sdcard находится внутри корня файловой системы, который является "/" в linux.

Ответ 2

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