Отправка электронной почты из приложения для Android

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

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 в списке. Мне нужно сделать то же самое.

Ответ 1

Вы можете использовать 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"));

Ответ 2

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

emailIntent.setType("message/rfc822");

Ответ 3

Попробуйте добавить 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

Просто грубое предположение...