Android Sende Email

E
er meldinger som distribueres av elektroniske midler fra ett system bruker til en eller flere mottakere via et nettverk

Før du starter Email aktivitet, Du må vite Email funksjonalitet med hensikt, Intent er å frakte data fra en komponent til en annen komponent med i søknaden eller utenfor programmet

For å sende en e-post fra programmet, trenger du ikke å implementere en e-postklient fra begynnelsen, men du kan bruke en eksisterende som standard E-post app tilgjengelig fra Android, Gmail, Outlook, K-9 Mail etc. For dette formålet, må vi skrive en aktivitet som lanserer en e-postklient, ved hjelp av en implisitt Intent med de riktige tiltakene og data. I dette eksempelet har vi tenkt til å sende en e-post fra vår app ved hjelp av en intensjonsavtale objekt som lanserer eksisterende e-postklienter.

Etter avsnittet forklarer ulike deler av vårt Intent objekt som kreves for å sende en e-post.
< h2> Intent Object - Tiltak for å sende e-post

Du vil bruke ACTION_SEND
tiltak for å lansere en e-postklient er installert på din Android-enhet. Følgende er enkel syntaks å skape en intensjonsavtale med ACTION_SEND handling
Intent emailIntent = new Intent (Intent.ACTION_SEND);
Intent Object - data /type til å sende e-post

For å sende en e-post må du spesifisere mailto:
som URI hjelp setData () metode og datatype vil være til text /plain
hjelp setType () metode som følger −
emailIntent.setData (Uri.parse ("mailto:")); emailIntent.setType ("text /plain");
Intent Object - ekstra til å sende e-post

Android har innebygd støtte for å legge til, emne, CC, TEKST etc. felt som kan knyttes til den hensikt før du sender den hensikt å et mål e-postklient. Du kan bruke følgende ekstra felt i e-posten og minus;
Sr.No.Extra data & Description1 EXTRA_BCC

A String [] holde e-postadresser som skal være blind kopiert.
2 EXTRA_CC

A String [] holde e-postadresser som bør være karbon kopiert.
3 EXTRA_EMAIL

En String [] holde e-postadresser som skal leveres til.
4 EXTRA_HTML_TEXT

En konstant String som er knyttet til Intent, brukes med ACTION_SEND å levere et alternativ til EXTRA_TEXT som HTML formatert tekst.
5 EXTRA_SUBJECT

En konstant streng holder ønsket emnelinjen i en melding.
6 EXTRA_TEXT

En konstant CharSequence som er knyttet til Intent, brukes med ACTION_SEND å forsyne den bokstavelige data som skal sendes.
7 EXTRA_TITLE

En CharSequence dialog tittelen for å gi til brukeren når den brukes med en ACTION_CHOOSER

Her er et eksempel som viser deg hvordan du kan tildele ekstra data til hensikt −.
emailIntent.putExtra (Intent.EXTRA_EMAIL, new String [ ,,,0],] {"mottaker"}); emailIntent.putExtra (Intent.EXTRA_SUBJECT, "subject"); emailIntent.putExtra (Intent.EXTRA_TEXT, "Message Body");

Den ut-satt av ovenfor koden er som nedenfor vist en image
Send Eksempel

Eksempel

Følgende eksempel viser deg i praksis hvordan du bruker Intent objekt å lansere E-postklient for å sende en e-post til de gitte mottakere.
til e-post eksperimentere med dette eksempelet, vil du trenge selve Mobile enheter utstyrt med nyeste Android OS (Android lollipop), ellers kan du få slite med emulator som kanskje ikke fungere korrekt. Andre må du ha en e-postklient som GMail (Som standard hver android-versjonen har Gmail-klient App) eller K9mail installert på din device.StepDescription1You vil bruke Android studio for å lage en Android-applikasjon og navn det som Tutorialspoint Anmeldelser under en pakke com.example.tutorialspoint
. Mens du oppretter dette prosjektet, må du Target SDK Hotell og kompilere med
på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java
fil og legge nødvendig kode for å ta seg av å sende email.3Modify layout XML fil res /layout /activity_main.xml
legge noen GUI-komponent hvis nødvendig. Jeg legger til en enkel knapp for å starte Email Client.4Modify res /verdier /strings.xml
å definere nødvendig konstant values5Modify AndroidManifest.xml
som vist below6Run programmet til å lansere Android emulator og verifisere resultatet av endringene som er gjort i programmet.

Følgende er innholdet i den modifiserte hovedaktivitet filen src /com.example.Tutorialspoint /MainActivity.java
.
pakke 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 strekker Aktivitet {Override beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); Button startBtn = (knappen) findViewById (R.id.sendEmail); startBtn.setOnClickListener (ny View.OnClickListener () {public void onClick (Vis visning) {sendEmail ();}}); } Beskyttet void sendEmail () {Log.i ("Send e-post", ""); 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 emne"); emailIntent.putExtra (Intent.EXTRA_TEXT, "E-postmelding går her"); try {startActivity (Intent.createChooser (emailIntent, "Send mail ...")); finish (); Log.i ("Ferdig sende e-post ...", ""); } Catch (android.content.ActivityNotFoundException ex) {Toast.makeText (MainActivity.this ". Det er ingen e-postklient installert", Toast.LENGTH_SHORT) .vis (); }}Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.main, menyen); return true; }}

Etter vil være innholdet i res /layout /activity_main.xml
fil −
< LinearLayout xmlns: android = "http://schemas.android.com/apk/res /android "android: layout_width =" fill_parent "android: layout_height =" fill_parent "android: orientering =" vertikal "> < TextView android: id = "+ id /textView1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Sende Mail Eksempel" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true "android: Tekststørrelse =" 30dp "/> < TextView android: id = "+ id /textView2" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: textcolor = "# ff87ff09" android: Tekststørrelse = "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 = "@ teikne /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 = "@ streng /compose_email" /> < /LinearLayout >

Etter vil være innholdet i res /verdier /strings.xml
å definere to nye konstanter og minus;
<? xml version = "1.0" encoding = "utf -8 ">? < resources > < string name = "APP_NAME" > Tutorialspoint < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < string name = "compose_email" > Komponer Email < /string > < /ressurser >

Følgende er innholdet mislighold av AndroidManifest.xml Bilde:?
< xml version = " 1.0 "encoding =" utf-8 "> < manifest xmlns:? android =" http://schemas.android.com/apk/res/android "pakken =" com.example.Tutorialspoint "android: version =" en "android: versjon =" 1.0 "> < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.tutorialspoint.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre ditt tutorialspoint
søknad. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android Studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio installatøren vise følgende vindu for å velge et alternativ hvor du vil kjøre Android application.Select den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise følgende skjermbilde −

Nå bruker Compose Email
knappen for å liste ned alle de installerte e-postklienter. Fra listen, kan du velge en av e-postklienter til å sende e-posten din. Jeg kommer til å bruke Gmail klienten til å sende e-posten min som vil ha alle de gitte standardverdiene feltene tilgjengelig som vist nedenfor. Her Fra:
vil være standard e-ID du har registrert for din Android-enhet

Du kan endre noen av de gitte standardfeltene og til slutt bruke send epost knappen for å sende e-post til nevnte. mottakere.