Однажды я столкнулся с проблемой отправки e-mail с Android программно, как его реализовать? Оказывается это очень просто. Но для этого нужна настроенная программа передачи и приёма почты. Давайте перейдём к реализации...
Обычно у любого e-maila есть поля: Кому, Тема и Сообщение. когда вы будете реализовать отправку вы можете заполнить их или оставить пустыми...
Я создал вот такой Layout с двумя кнопками: Рассказать друзьям, Написать автору
Main.xml:
Вид лейаута:
Рассказать друзьям (здесь заполняются поля Тема и Текст):
Результат:
Написать автору (здесь только поле Кому, н-р e-mail разработчика dev@developer.com):
Результат:
Вот весь MainActivity.java:
Обычно у любого e-maila есть поля: Кому, Тема и Сообщение. когда вы будете реализовать отправку вы можете заполнить их или оставить пустыми...
Я создал вот такой Layout с двумя кнопками: Рассказать друзьям, Написать автору
Main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="64dp"
android:text="Рассказать друзьям" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="21dp"
android:text="Написать автору" />
</RelativeLayout>
Вид лейаута:
Intent email = new Intent(Intent.ACTION_SEND);
//Устанавливаем Тему сообщения
email.putExtra(Intent.EXTRA_SUBJECT, "Тема письма");
//Устанавливаем текст сообщение
email.putExtra(Intent.EXTRA_TEXT, "Текст сообщения");
//тип сообщения
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Выберите email клиент :"));
Результат:
Написать автору (здесь только поле Кому, н-р e-mail разработчика dev@developer.com):
Intent email1 = new Intent(Intent.ACTION_SEND);
//Указываем получателя
email1.putExtra(Intent.EXTRA_EMAIL, new String[]{"dev@developer.com"});
email1.setType("message/rfc822");
startActivity(Intent.createChooser(email1, "Выберите email клиент :"));
Результат:
Вот весь MainActivity.java:
package com.beksultanzhailybayev.helloandroid;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
Button button1;
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(this);
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Intent email = new Intent(Intent.ACTION_SEND);
//Устанавливаем Тему сообщения
email.putExtra(Intent.EXTRA_SUBJECT, "Тема письма");
//Устанавливаем текст сообщение
email.putExtra(Intent.EXTRA_TEXT, "Текст сообщения");
//тип сообщения
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Выберите email клиент :"));
break;
case R.id.button2:
Intent email1 = new Intent(Intent.ACTION_SEND);
//Указываем получателя
email1.putExtra(Intent.EXTRA_EMAIL, new String[]{"dev@developer.com"});
email1.setType("message/rfc822");
startActivity(Intent.createChooser(email1, "Выберите email клиент :"));
break;
}
}
}
Вот и всё! Код очень прост, да и вообще отправка e-mail проста до безобразия... В следующих уроках я покажу вам как реализовать переход между активити в Android и допишем наш AlertDialog (Экран приветствия)...
Комментариев нет:
Отправить комментарий