Android - электронная почта - PullRequest
0 голосов
/ 17 января 2012

Мне было интересно, какой самый простой способ отправить электронное письмо из моего приложения.

У меня есть страница с двумя текстовыми окнами и двумя полями EditText, в которых мне нужно получить информацию для отправки вэлектронная почта.

У меня также есть поле EditText, в котором содержится адрес электронной почты пользователя.

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

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

Наконец, это будет работать только на реальном устройстве (которое подключено к Интернету)?

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 17 января 2012

Попробуйте:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "some@email.address" });
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail body");
startActivity(Intent.createChooser(intent, ""));

Это будет работать только на реальном устройстве.

0 голосов
/ 17 января 2012

Безусловно, самый простой способ отправить электронное письмо - это запустить Intent, в отличие от реализации собственной функции отправки электронной почты.

Вы можете сделать это, запустив android.content.Intent.ACTION_SEND Intent с дополнительными полями, настроенными для полей электронной почты.В частности,

Intent.EXTRA_EMAIL: адрес назначения

Intent.EXTRA_CC: адрес копии, если таковой имеется

Intent.EXTRA_BCC: адрес (а) слепой копии, если есть

Intent.EXTRA_TEXT: тело письма

Обратите внимание, что если вы используете EXTRA_TEXT, вы должны установить тип MIME на text / plain.Если вы хотите отправить другой тип контента, вы должны вместо этого использовать EXTRA_STREAM и предоставить данные таким образом.

0 голосов
/ 17 января 2012

Вот фрагмент кода, который я использую для отправки электронной почты. Обратите внимание, что этот метод не является автоматическим, он отображает список приложений, которые вы можете выбрать (электронная почта по умолчанию, gmail, sms, evernote, spring pad и т. Д.).

    final Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.setType("text/plain");
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Test Message");
    emailIntent.putExtra(Intent.EXTRA_TEXT, "This is a test message");
    Uri attachment = null;
    if (mAttachHTML && (attachment = writeToExternalStoragePublic()) != null) {
        emailIntent.putExtra(Intent.EXTRA_STREAM, attachment);
    }
    startActivity(Intent.createChooser(emailIntent, getString(R.string.reporting_sharemessage)));

Этот метод, кажется, не работает для меня в эмуляторе, но отлично работает на устройстве.

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