Android - Senden von E-Mail

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
1EXTRA_BCC
Ein String [] halten E-Mail-Adressen, die sein sollte Blind Carbon kopiert.
2EXTRA_CC
Ein String [] halten E-Mail-Adressen, die sein sollte Kohlenstoff kopiert.
3EXTRA_EMAIL
Ein String [] halten E-Mail-Adressen, die gebären sollte.
4EXTRA_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.
5EXTRA_SUBJECT
Eine konstante Zeichenkette, die gewünschte Betreffzeile einer Nachricht.
6EXTRA_TEXT
Eine konstante CharSequence, die mit der Absicht verbunden ist, mit ACTION_SEND verwendet, um die Daten zu liefern literal gesendet werden soll.
7EXTRA_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
Email

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.
SchrittBezeichnung
1Sie 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
6Fü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 Eclipse-Run IconAusfü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 -
Android Mobile Device
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.
Share on Google Plus

About ptjqatar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 التعليقات:

Kommentar veröffentlichen