Отправка электронной почты из приложения для 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
Просто грубое предположение...