Email ist Nachrichten auf elektronischem Wege von einem Systembenutzer über das Netzwerk verteilt werden, um einen oder mehrere Empfänger
Vor Beginn der E-Mail Tätigkeit, müssen Sie E-Mail-Funktionalität mit der Absicht wissen, ist Intent Buchdaten von einer Komponente zu einer anderen Komponente mit in der Anwendung oder außerhalb der Anwendung
Um eine E-Mail von Ihrer Anwendung zu versenden, die Sie nicht haben, um eine E-Mail-Client von Anfang an zu implementieren, aber Sie können einen bestehenden wie die Standard-E-Mail-App von Android, Google Mail, Outlook, K-9 Mail usw. dafür vorgesehenen verwenden Dazu müssen wir eine Tätigkeit, die eine E-Mail-Client startet, mit Hilfe eines impliziten Intent mit der richtigen Maßnahmen und Daten zu schreiben. In diesem Beispiel werden wir eine E-Mail von unserem App mithilfe einer Intent-Objekt, das bestehende E-Mail-Clients startet schicken.
Folgende Abschnitt erläutert verschiedenen Teilen unseres Intent-Objekt erforderlich ist, um eine E-Mail zu senden.
Intent Object - Aktion E-Mails senden
Sie verwenden ACTION_SEND Aktion zu starten eine E-Mail-Client auf Ihrem Android-Gerät installiert. Finden Sie einfache Syntax, um eine Absichtserklärung mit ACTION_SEND Aktion zu erstellen
Intent emailIntent = new Intent(Intent.ACTION_SEND);
Intent Object - Data / Art, um E-Mail senden
Um eine E-Mail müssen Sie angeben, senden Sie mailto: als URI mit setData () Methode und Datentyp wird es sein, Text / plain mit setType () -Methode wie folgt -
emailIntent.setData(Uri.parse("mailto:")); emailIntent.setType("text/plain");
Intent Object - Extra, um E-Mail senden
Android hat eine eingebaute Unterstützung für An, Betreff, CC, Text usw. Feldern, die zu dem Zweck angebracht werden kann, bevor Sie die Absicht zu einem Ziel-Mail-Client hinzufügen. Sie können folgende zusätzliche Felder in Ihrer E-Mail verwenden -
Sr.No. | Extra Daten & Beschreibung |
---|---|
1 | EXTRA_BCC
Ein String [] halten E-Mail-Adressen, die sein sollte Blind Carbon kopiert.
|
2 | EXTRA_CC
Ein String [] halten E-Mail-Adressen, die sein sollte Kohlenstoff kopiert.
|
3 | EXTRA_EMAIL
Ein String [] halten E-Mail-Adressen, die gebären sollte.
|
4 | EXTRA_HTML_TEXT
Eine konstante String, der mit der Absicht verbunden ist, mit ACTION_SEND verwendet werden, um eine Alternative zu liefern, um als HTML-formatierten Text EXTRA_TEXT.
|
5 | EXTRA_SUBJECT
Eine konstante Zeichenkette, die gewünschte Betreffzeile einer Nachricht.
|
6 | EXTRA_TEXT
Eine konstante CharSequence, die mit der Absicht verbunden ist, mit ACTION_SEND verwendet, um die Daten zu liefern literal gesendet werden soll.
|
7 | EXTRA_TITLE
Ein Dialogtitel CharSequence an den Benutzer zu liefern, wenn mit einem ACTION_CHOOSER verwendet.
|
Hier ist ein Beispiel zeigt Ihnen, wie Sie zusätzliche Daten, um Ihre Absicht zuweisen -
emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"Recipient"}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); emailIntent.putExtra(Intent.EXTRA_TEXT , "Message Body");
Die out-setzen der obige Code ist ein Bild wie unten gezeigt
E-MAIL BEISPIEL
Beispiel
Folgende Beispiel zeigt, in der Praxis, wie man Intent Objekt verwenden, um E-Mail-Client zu starten, um eine E-Mail an den angegebenen Empfänger zu senden.
Um Experiment mit diesem Beispiel E-Mail, werden Sie tatsächlich Mobile-Gerät mit der neuesten Android OS (Android Lutscher) ausgestattet brauchen, sonst könnte man Kampf mit Emulator, die nicht richtig funktionieren kann zu bekommen. Zweitens müssen Sie eine E-Mail-Client wie GMail haben (standardmäßig jede Android-Version mit Google Mail-Client App) oder K9mail auf Ihrem Gerät installiert.
Schritt | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung so zu erstellen und es nennen Tutorialspoint unter einem Paketcom.example.tutorialspoint. Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit bei der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei und fügen erforderlichen Code, um auf E-Mails senden zu nehmen. |
3 | Ändern Sie das Layout XML-Datei res / layout / activity_main.xml jede GUI-Komponente hinzufügen, wenn erforderlich. Ich füge eine einfache Schaltfläche, um E-Mail-Client zu starten. |
4 | Ändern res / Werte / strings.xml um erforderliche konstante Werte zu definieren |
5 | Ändern AndroidManifest.xml wie unten gezeigt |
6 | Führen Sie die Anwendung auf Android-Emulator zu starten, und überprüfen Sie das Ergebnis der Änderungen in der Anwendung durchgeführt. |
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src / com.example.Tutorialspoint / MainActivity.java.
package com.example.tutorialspoint; 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; } }
Im Anschluss wird der Inhalt sein res / layout / activity_main.xml Datei -
<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="Tutorials point " 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>
Im Anschluss wird der Inhalt sein res / Werte / strings.xml zwei neue Konstanten definieren -
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Tutorialspoint</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="compose_email">Compose Email</string> </resources>
Im Folgenden ist der Standardinhalt der AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Tutorialspoint" 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.tutorialspoint.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>
Lasst uns versuchen, Ihre Lauf tutorialspoint Anwendung. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android Studio, öffnen Sie eine Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Ausführen-Symbol in der Symbolleiste. Vor dem Start der Anwendung wird Android Studio Installer folgende Fenster angezeigt werden, um eine Option wo Sie führen Sie Ihre Android application.Select Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät die folgenden Bildschirm werden möchten -
Jetzt benutzen Compose Email-Taste, Liste unten alle installierten E-Mail-Clients. Aus der Liste, können Sie eine E-Mail-Clients wählen, um Ihre E-Mail zu senden. Ich werde Google Mail-Client verwenden, um per E-Mail, die wie unten gezeigt haben alle vorgesehenen Standardfelder zur Verfügung sendet. HierFrom: wird standardmäßig E-Mail-ID, die Sie für Ihr Android-Gerät angemeldet haben.
Sie können einen der vorgegebenen Standardfelder ändern und schließlich verwenden schicken Sie diese Schaltfläche, um Ihre E-Mail an den genannten Empfänger senden.
0 التعليقات:
Kommentar veröffentlichen