приложить картинку к электронной почте - PullRequest
1 голос
/ 13 апреля 2011

Кто-нибудь знает, как прикрепить изображения с помощью

Intent intent = new Intent(Intent.ACTION_SENDTO); 

Я знаю, как это сделать с Intent.ACTION_SEND, но я хотел бы использовать SENDTO, чтобы удалить опцию Bluetooth для пользователя.

То, что у меня хорошо работает, когда я не прикрепляю картинку, а когда использую

intent.setData(pictureUri);

Это говорит мне, что нет приложения для этой работы.

Спасибо за вашу помощь.

EDIT

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

код

intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("text/html");
Uri uri = Uri.parse("mailto:?");
intent.setData(uri);
intent.putExtra(Intent.EXTRA_STREAM, picture);
intent.putExtra("subject", subject );
context.startActivity(Intent.createChooser(intent, "Share Via:"));

picture - это Uri для изображения на телефоне.

Кто-нибудь знает, в чем может быть проблема?

Ответы [ 2 ]

2 голосов
/ 10 мая 2013

Попробуйте:

i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(pic));
1 голос
/ 13 апреля 2011

Согласно документации API, SENDTO ожидает получателя в поле данных, а не вложение. Сказав intent.setData(pictureUri), вы в основном пытаетесь отправить сообщение на картинку. Смотрите здесь .

SEND принимает вложения через дополнительные функции, поэтому вы можете попробовать то же самое для SENDTO.

Например:

intent.putExtra(Intent.EXTRA_STREAM, pictureUri);
...