Denne raske tipsen viser hvordan du starter det innebygde postprogrammet, leverer det med data, og lar brukeren sende en e-postmelding. Du vil oppnå dette ved å opprette og konfigurere den hensiktsmessige hensikten i en applikasjons aktivitet.
Begynn med å lage et Android-prosjekt. Implementer Android-applikasjonen som vanlig. Når du har opprettet et prosjekt og programmet kjører, bestemme under hvilke omstendigheter du vil starte et e-postprogram og sende en e-post. Vil dette oppstå når en knappeknapp trykkes? Vil du fylle ut detaljene i e-posten, eller bare la brukeren gjøre det? Implementer nødvendig knapp eller menykontroll, inkludert eventuell klikkhåndtering. Når du har fullført denne oppgaven, har du et sted å slippe inn koden for å starte e-postklienten.
Hvis du bruker en emulator, må du konfigurere e-postklienten. Hvis e-postklienten ikke er konfigurert, svarer den ikke til hensikten vi diskuterer. Hvis du vil se velgeren i handling, må du konfigurere en enhet ved hjelp av flere meldingsprogrammer, for eksempel Gmail-programmet og e-postprogrammet.
Nå er du klar til å fortsette med dette raske tipset.
Du kan også komme i gang med åpen kildekode som er gitt for dette raske tipset.
E-postprogrammer kan lanseres for å sende en melding med følgende Intent: android.content.Intent.ACTION_SEND. Begynn med å skape en hensikt av denne typen, som følger, i knappeklikkhåndtereren din:
Intent emailIntent = new Intent (android.content.Intent.ACTION_SEND);
Dette er en veldig generisk Intent-type. I utgangspunktet forteller det til Android-systemet at søknaden din vil sende noen form for melding et sted - ACTION_SEND Intent kan brukes til å sende forskjellige typer meldinger, inkludert e-postmeldinger, tekstmeldinger (SMS), MMS-meldinger, osv. Derfor , må du legge til ytterligere konfigurasjonsinformasjon i Intent for at Android-operativsystemet skal passe på din forespørsel riktig til det aktuelle programmet.
Hvis du for eksempel planlegger å sende tekstdata, vil du for eksempel angi typen Intent ved hjelp av setType () -metoden som følger:
emailIntent.setType ( "plain / tekst");
På en typisk enhet, håndterer meldingsprogrammet og Mail-programmet generelt sending av vanlige tekstmeldinger.
Når du starter denne hensikten, vil eventuelle applikasjoner som støtter ren tekstmeldinger, kunne håndtere denne forespørselen. Når du har angitt typedataene for Intent, kan du ringe metoden startActivity (), som passerer din hensikt:
startActivity (emailIntent);
Brukere kan installere et hvilket som helst antall Android-applikasjoner på sine enheter. Ofte installerer de flere meldingsprogrammer. For eksempel kan de ha separate personlige e-postklienter og jobber e-postklientprogrammer. Du kan tillate brukeren å velge hvilket program som skal håndtere Intent ved å levere startActivity () samtale med createChooser () -metoden:
startActivity (Intent.createChooser (emailIntent, "Send din epost i:"));
Dette vil be om at brukeren vil alle applikasjoner som har et hensiktsfilter satt opp som samsvarer med din enkle tekst ACTION_SEND-forespørsel. Brukeren kan velge et bestemt program for å starte.
Merk: Hvis det er akkurat ett valg tilgjengelig, vil dette valget bli lansert direkte. Hvis det finnes null valg, viser dialogboksen, men forteller brukeren at det ikke er noen valg. Hvis det er to eller flere valg, får brukeren valget mens han ikke får muligheten til å velge et standardvalg siden velgeren blir tvunget.
Ofte vil du levere noen av e-postmeldingsfeltene med data for å lagre brukeren noen skrive. Du kan for eksempel angi e-postmottakerlisten, meldingsemnet eller meldingslegemet. Du kan gjøre dette ved å levere denne informasjonen som en del av Intent's extras.
Følgende kode skaper Intent, konfigurerer tilleggene, og starter den nye aktiviteten:
Intent emailIntent = new Intent (android.content.Intent.ACTION_SEND); String aEmailList [] = "[email protected]", "[email protected]"; String aEmailCCList [] = "[email protected]", "[email protected]"; String aEmailBCCList [] = "[email protected]"; emailIntent.putExtra (android.content.Intent.EXTRA_EMAIL, aEmailList); emailIntent.putExtra (android.content.Intent.EXTRA_CC, aEmailCCList); emailIntent.putExtra (android.content.Intent.EXTRA_BCC, aEmailBCCList); emailIntent.putExtra (android.content.Intent.EXTRA_SUBJECT, "Mitt emne"); emailIntent.setType ( "plain / tekst"); emailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "Mitt meldingsorgan."); startActivity (emailIntent);
Nå, hvis du starter ACTION_SEND Intent, fylles feltene inn for brukeren.
En notat om tillatelser: Selv om søknaden din bruker meldingsfunksjoner på enheten, er det ikke nødvendig å ha slike tillatelser. Dette skyldes at søknaden ikke direkte sender meldinger selv. I stedet er det bare å utnytte andre programmers muligheter til å gjøre det.
I dette raske tipset har du lært hvordan du konfigurerer en intensjon om å starte og sende en e-postmelding. Brukeren har fortsatt kontroll over hvorvidt meldingen skal sendes eller ikke. Denne funksjonen kan imidlertid være svært nyttig for programmer som ønsker å inkludere enkle tilbakemeldingsfunksjoner for brukeren eller å integrere tett med brukerens foretrukne e-postklient.
Mobilutviklere Lauren Darcey og Shane Conder har medforfatter flere bøker om Android-utvikling: en grundig programmeringsbok med tittel Android Wireless Application Development og Sams TeachYourself Android Application Development i 24 timer. Når de ikke skriver, bruker de sin tid på å utvikle mobil programvare hos deres firma og tilby konsulenttjenester. De kan nås via e-post til [email protected], via bloggen deres på androidbook.blogspot.com, og på Twitter @androidwireless.