Sebelum memulai Email Kegiatan, Anda harus tahu Email fungsi dengan maksud, Intent membawa data dari satu komponen ke komponen lain dengan-dalam aplikasi atau di luar aplikasi
Untuk mengirim email dari aplikasi Anda, Anda tidak perlu menerapkan email client dari awal, tetapi Anda dapat menggunakan yang sudah ada seperti aplikasi default Email disediakan dari Android, Gmail, Outlook, K-9 Mail dll Untuk ini tujuan, kita perlu menulis sebuah Kegiatan yang meluncurkan klien email, menggunakan Intent implisit dengan tindakan yang benar dan data. Dalam contoh ini, kita akan mengirim email dari aplikasi kami dengan menggunakan obyek Intent yang meluncurkan klien email yang ada.
Bagian berikut menjelaskan bagian-bagian yang berbeda dari objek Intent kami diminta untuk mengirim email.
Intent Obyek - Aksi untuk mengirim Email
Anda akan menggunakan tindakan ACTION_SEND untuk meluncurkan klien email diinstal pada perangkat Android Anda. Berikut adalah sintaks sederhana untuk membuat maksud dengan tindakan ACTION_SEND
Intent emailIntent = new Intent(Intent.ACTION_SEND);
Intent Object - Data / Type untuk mengirim Email
Untuk mengirim email Anda perlu menentukan mailto: URI sebagai menggunakan setData () metode dan jenis data akan untuk teks / plain menggunakan setType () metode sebagai berikut -
emailIntent.setData(Uri.parse("mailto:")); emailIntent.setType("text/plain");
Intent Obyek - Extra untuk mengirim Email
Android telah built-in mendukung untuk menambah TO, TOPIK, CC, dll TEXT bidang yang dapat dilampirkan ke niat sebelum mengirim maksud untuk klien email sasaran. Anda dapat menggunakan berikut bidang tambahan di email Anda -
1 EXTRA_BCC
Sebuah String [] alamat memegang e-mail yang harus blind carbon copy.
2 EXTRA_CC
Sebuah String [] memegang alamat e-mail yang harus disalin karbon.
3 EXTRA_EMAIL
Sebuah String [] alamat memegang e-mail yang harus dikirim ke.
4 EXTRA_HTML_TEXT
Sebuah String konstan yang berhubungan dengan Intent, digunakan dengan ACTION_SEND untuk memasok alternatif untuk EXTRA_TEXT sebagai HTML teks berformat.
5 EXTRA_SUBJECT
Sebuah string konstan memegang baris subjek yang diinginkan dari pesan.
6 EXTRA_TEXT
Sebuah CharSequence konstan yang berhubungan dengan Intent, digunakan dengan ACTION_SEND untuk memasok data literal yang akan dikirim.
7 EXTRA_TITLE
Judul dialog CharSequence untuk memberikan kepada pengguna ketika digunakan dengan ACTION_CHOOSER a.
Berikut adalah contoh yang menunjukkan Anda bagaimana untuk menetapkan data tambahan untuk niat Anda -
emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"Recipient"}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); emailIntent.putExtra(Intent.EXTRA_TEXT , "Message Body");
akan menghasilkan seperti ini:
Contoh
Berikut contoh menunjukkan Anda dalam praktis bagaimana menggunakan objek Intent untuk meluncurkan Email client untuk mengirim Email ke penerima yang diberikan.
Untuk Email percobaan dengan contoh ini, Anda akan membutuhkan perangkat mobile yang sebenarnya dilengkapi dengan Android OS terbaru (Android lollipop), jika tidak, anda mungkin mendapatkan perjuangan dengan emulator yang mungkin tidak bekerja dengan benar. Kedua Anda akan perlu memiliki klien email seperti GMail (Secara default setiap versi android memiliki Gmail klien App) atau K9mail terinstal pada perangkat Anda.
Langkah Keterangan
1. Anda akan menggunakan Android studio untuk membuat aplikasi Android dan nama itu sebagai unggul bawah com.example.unggul paket. Sementara menciptakan proyek ini, pastikan Anda Targetkan SDK dan Kompilasi Dengan di versi terbaru dari Android SDK untuk menggunakan tingkat yang lebih tinggi dari API.
2. Memodifikasi src MainActivity.java berkas / dan menambahkan kode yang diperlukan untuk mengurus pengiriman email.
3. Memodifikasi file layout XML res / layout / activity_main.xml menambahkan komponen GUI jika diperlukan. Saya menambahkan tombol sederhana untuk meluncurkan Email Client.
4. Ubah res / values / strings.xml untuk mendefinisikan nilai konstan diperlukan
5. Modify AndroidManifest.xml seperti yang ditunjukkan di bawah ini
6. Jalankan aplikasi untuk meluncurkan Android emulator dan memverifikasi hasil dari perubahan yang dilakukan dalam aplikasi.
Berikut ini adalah isi dari file utama kegiatan src / com.example.unggul / MainActivity.java dimodifikasi.
package com.example.unggul; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button startBtn = (Button) findViewById(R.id.sendEmail); startBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { sendEmail(); } }); } protected void sendEmail() { Log.i("Send email", ""); String[] TO = {""}; String[] CC = {""}; Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setData(Uri.parse("mailto:")); emailIntent.setType("text/plain"); emailIntent.putExtra(Intent.EXTRA_EMAIL, TO); emailIntent.putExtra(Intent.EXTRA_CC, CC); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject"); emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here"); try { startActivity(Intent.createChooser(emailIntent, "Send mail...")); finish(); Log.i("Finished sending email...", ""); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
Berikut akan menjadi isi dari res /file layout / activity_main.xml -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sending Mail Example" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="30dp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="unggul " android:textColor="#ff87ff09" android:textSize="30dp" android:layout_above="@+id/imageButton" android:layout_alignRight="@+id/imageButton" android:layout_alignEnd="@+id/imageButton" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton" android:src="@drawable/abc" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> <Button android:id="@+id/sendEmail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/compose_email"/> </LinearLayout>
Berikut akan menjadi isi dari res / values / strings.xml untuk mendefinisikan dua konstanta baru -
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">unggul</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="compose_email">Compose Email</string> </resources>
Berikut ini adalah isi default AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.unggul" android:versionCode="1" android:versionName="1.0" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.unggul.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Mari kita coba untuk menjalankan aplikasi unggul Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Android Ponsel yang sebenarnya Anda dengan komputer Anda. Untuk menjalankan aplikasi dari Android Studio, buka salah satu file kegiatan proyek Anda dan klik Run Eclipse Run Icon icon dari toolbar. Sebelum memulai aplikasi Anda, installer studio Android akan menampilkan berikut jendela untuk memilih pilihan di mana Anda ingin menjalankan Android Anda application.Select perangkat mobile Anda sebagai pilihan dan kemudian memeriksa perangkat mobile Anda yang akan menampilkan layar berikut -
Sekarang gunakan tombol Compose Email daftar ke semua klien email yang diinstal. Dari daftar, Anda dapat memilih salah satu klien email untuk mengirim email Anda. Aku akan menggunakan client Gmail untuk mengirim email saya yang akan memiliki semua default bidang yang disediakan tersedia seperti yang ditunjukkan di bawah ini. Berikut Dari: akan ID email default Anda telah terdaftar untuk perangkat Android Anda.
Anda dapat memodifikasi salah satu bidang default yang diberikan dan akhirnya menggunakan tombol kirim email untuk mengirim email Anda ke penerima yang disebutkan.