Отправка электронной почты из приложения Android - PullRequest
17 голосов
/ 17 января 2011

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

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "testing email send.");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<b>this is html text in email body.</b>"));
startActivity(Intent.createChooser(emailIntent, "Email to Friend"));

Показывает почтовое приложение, gmail и bluetooth для выбора пользователем. Я не хочу, чтобы пользователь показывал bluetooth в этом списке. Что я должен сделать ? У меня есть приложение Facebook, которое делает то же самое, но не показывает Bluetooth в списке. Мне нужно сделать то же самое.

Ответы [ 3 ]

15 голосов
/ 24 января 2011

Вы можете использовать ACTION_SENTTO вместо ACTION_SEND, чтобы получить список почтовых клиентов. Я попробовал это на HTC Wildfire, на котором был установлен почтовый клиент по умолчанию, приложение GMail и версия k9-3.508. Когда я запустил ваш код с ACTION_SENDTO, я получил список вышеупомянутых 3 почтовых клиентов, а не Bluetooth, независимо от того, был ли Bluetooth включен или отключен. Я пробовал это и когда Bluetooth был включен, и когда Bluetooth был отключен. Это хорошо сработало для меня.

Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "testing email send.");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<b>this is html text in email body.</b>"));
startActivity(Intent.createChooser(emailIntent, "Email to Friend"));
14 голосов
/ 17 января 2011

Попробуйте использовать этот тип вместо:

emailIntent.setType("message/rfc822");
1 голос
/ 17 января 2011

Попробуйте добавить EXTRA_EMAIL к своему намерению, возможно, bluetooth может быть подключен к ACTION_SEND, но не к тому же действию, если необходимо отправить электронное письмо.

Смотрите здесь:
http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND и здесь
http://developer.android.com/reference/android/content/Intent.html#EXTRA_EMAIL

Просто приблизительное предположение ...

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