Кнопка Android при нажатии на кнопку отправить на электронную почту - PullRequest
3 голосов
/ 25 января 2012

Я работаю с Java и Xml уже несколько месяцев и многому научился благодаря любой помощи в StackOverflow.

Мой вопрос о программировании на Java для Android относительно кнопки отправки.

В настоящее время я пытаюсь выяснить, как отправить значение на адрес электронной почты (за кадром)

Допустим, у нас есть текстовое поле и кнопка;Я хочу взять значение, введенное в текстовое поле, и отправить его на электронный адрес.

Я не могу найти в Интернете ничего, что показывало бы мне, как это сделать.

Заранее благодарю за прочтение моего поста, и я с нетерпением жду ваших предложений.

Ответы [ 3 ]

10 голосов
/ 25 января 2012

Это отличный пример того, как использование Intents может оказаться очень полезным! Android имеет множество предопределенных Intents, которые делают определенные вещи в системе; Возможно, вы уже нажали на изображение раньше, и появилось диалоговое окно с вопросом, хотите ли вы просмотреть его в своей галерее или в стороннем приложении, таком как Astro. Просмотр изображения имеет свои предопределенные намерения.

Отправка электронного письма также имеет свои предопределенные намерения: android.content.Intent.ACTION_SEND. Вам необходимо создать намерение с этим свойством, а затем добавить дополнительную информацию (т. Е. Адрес для отправки, тему / тело сообщения и т. Д.).

Пример кода:

// Data members
private Intent emailIntent;
private String feedback;
private EditText feedbackBox;

// Create the Intent, and give it the pre-defined value
// that the Android machine automatically associates with
// sending an email.
emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");

// Put extra information into the Intent, including the email address
// that you wish to send to, and any subject (optional, of course).
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"your_email@whatever.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Insert subject here");

// Acquire feedback from an EditText and save it to a String.
feedback = feedbackBox.getText().toString();

// Put the message into the Intent as more extra information,                   
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, feedback);

// Start the Intent, which will launch the user's email 
// app (make sure you save any necessary information in YOUR app
// in your onPause() method, as launching the email Intent will
// pause your app). This will create what I discussed above - a
// popup box that the user can use to determine which app they would like
// to use in order to send the email.
startActivity(Intent.createChooser(emailIntent, "Insert title for dialog box."));

Я надеялся, что это помогло !!

Некоторые источники, которые вы могли бы проверить:
http://developer.android.com/guide/topics/intents/intents-filters.html
http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND

1 голос
/ 25 января 2012
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, someEditText.getText());
startActivity(Intent.createChooser(emailIntent, "Send someone an email..."));
0 голосов
/ 20 июля 2016

попробуйте

Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:Type email address here"));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
...