Я хочу отправить электронное письмо через мое приложение. Мне нужно отправить электронное письмо в формате HTML только через G -Mail. Я нашел следующие решения, у каждого из которых есть свои плюсы и минусы.
1 )Использование намерения (Намерение.ДЕЙСТВИЕ _ОТПРАВИТЬ ). Это очень простой способ, и я могу видеть свое тело в формате HTML, но проблема в том, что когда я нажимаю кнопку «Отправить электронное письмо», появляется так много приложений, таких как Facebook и Google+, которые бесполезны, и я не должен показывать его в этом списке.. Это его код:
String html = "Visit W3Schools.com!" + "If you set the target attribute to \"_blank\", the link will open in a new browser window/tab.
";
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"MY EMAIL ADDRESS"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject here");
intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(html));
startActivity(Intent.createChooser(intent, "Send email..."));
2 )Использование намерения (Intent.ACTION _SENDTO ). Таким образом фильтрует бесполезные приложения и показывает мне только почтовые клиенты. Но он не отображает мою электронную почту в формате HTML в клиенте Gmail. Когда я отправляю электронное письмо, некоторые клиенты показывают тело в формате HTML, в то время как другие не идентифицируют HTML, и моя ссылка ведет себя как обычный текст.Этот код похож на:
String html = "Visit W3Schools.com!" + "If you set the target attribute to \"_blank\", the link will open in a new browser window/tab.
";
Intent send = new Intent(Intent.ACTION_SENDTO);
String uriText = "mailto:MY EMAIL ADDRESS" + "?subject=subject here" + "&body=" + html;
uriText = uriText.replace(" ", "%20");
Uri uri = Uri.parse(uriText);
send.setData(uri);
startActivity(Intent.createChooser(send, "Send mail..."));
3 )Отправка почты с помощью API JavaMail , который сильно усложняет приложение, и я пока не тестировал его.
Каково ваше предложение? Мне нужен способ иметь преимущества первого и второго способов. Мне нужно, когда пользователь нажимает кнопку, он показывает клиент Gmail, и я могу показать ему/ей html-контент в основной части клиента.
любое предложение будет оценено. Спасибо
=======================
Что-то с кодом 2 не так. Код такой:
String html = "Visit W3Schools.com!" + "If you set the target attribute to \"_blank\", the link will open in a new browser window/tab.
";
Intent send = new Intent(Intent.ACTION_SENDTO);
String uriText = "mailto:MY EMAIL ADDRESS" + "?subject=subject here" + "&body=" + Html.fromHtml(html);
uriText = uriText.replace(" ", "%20");
Uri uri = Uri.parse(uriText);
send.setData(uri);
startActivity(Intent.createChooser(send, "Send mail..."));