Snabbtips Aktivera användare att skicka e-post från dina Android-applikationer - det enkla sättet

Det här snabba tipset visar hur du startar det inbyggda Mail-programmet, levererar det med data och tillåter användaren att skicka ett e-postmeddelande. Du kommer att uppnå detta genom att skapa och konfigurera lämplig Intent inom en programs aktivitet.

Steg 1: Skapa en Android-applikation

Börja med att skapa ett Android-projekt. Implementera din Android-applikation som vanligt. När du har upprättat ett projekt och programmet körs, bestämma under vilka omständigheter du vill starta en e-postprogram och skicka ett mail. Kommer detta att uppstå när en knappstyrning trycks in? Vill du fylla i detaljerna i e-postmeddelandet eller helt enkelt tillåta användaren att göra det? Använd nödvändig knapp eller menykontroll, inklusive eventuell klickhantering. När du har avslutat den här uppgiften har du en plats att släppa i koden för att starta mailklienten.

Om du använder en emulator måste du konfigurera e-postklienten. Om e-postklienten inte är konfigurerad, svarar den inte på Intent vi diskuterar. Om du vill se väljaren i åtgärd måste du konfigurera en enhet med flera meddelandeprogram, till exempel Gmail-programmet och e-postprogrammet.

Nu är du redo att fortsätta med detta snabba tips.

Du kan också komma igång med den öppna källkoden som tillhandahålls för denna snabba tips.

Steg 2: Skapa avsikten

Mail-applikationer kan startas för att skicka ett meddelande med följande Intent: android.content.Intent.ACTION_SEND. Börja med att skapa en avsikt av denna typ, enligt följande, inom din knapphanterare:

 Intent emailIntent = new Intent (android.content.Intent.ACTION_SEND); 

Steg 3: Konfigurera avsiktstypen

Det här är en mycket generisk Intent-typ. I grund och botten berättar det för Android-systemet att din ansökan vill skicka någon form av meddelande någonstans-ACTION_SEND Intent kan användas för att skicka olika typer av meddelanden, inklusive e-postmeddelanden, textmeddelanden (SMS), bildmeddelanden (MMS) etc. Därför , måste du lägga till ytterligare konfigurationsinformation i avsikt för att Android-operativsystemet ska matcha din förfrågan korrekt till den lämpliga applikationen.

Om du till exempel vill skicka textdata, anger du typen av avsikt med metoden setType () enligt följande:

 emailIntent.setType ( "plain / a"); 

På en vanlig enhet hanterar meddelandeprogrammet och Mail-programmet vanligtvis sändningen av vanliga textmeddelanden.

Steg 4: Starta avsikten

När du startar denna avsikt kan alla applikationer som stöder ren textmeddelanden hantera denna begäran. När du har angett typdata för avsiktet kan du ringa metoden startActivity (), som passerar i din avsikt:

 startActivity (emailIntent); 

Steg 5: Hantering när flera applikationer kan skicka e-post

Användare kan installera ett antal Android-applikationer på sina enheter. Ofta installerar de flera meddelandeprogram. De kan till exempel ha separata personliga e-postklienter och arbetsprogram för e-postklienter. Du kan tillåta användaren att välja vilken applikation som ska hantera Intent genom att leverera startActivity () -samtalet med createChooser () -metoden:

 startActivity (Intent.createChooser (emailIntent, "Skicka ditt mail i:")); 

Detta kommer att leda till att användaren kommer alla program som har ett avsiktsfilter som ställs in som matchar din enkla text ACTION_SEND-förfrågan. Användaren kan välja en specifik applikation för att starta.

Obs! Om det finns exakt ett val tillgängligt, kommer det valet att lanseras direkt. Om det finns nollval tillgängliga, visar dialogrutan men berättar användaren att det inte finns några val. Om det finns två eller flera val, får användaren valet, men har inte möjlighet att göra ett standardval eftersom valet tvingas.

Steg 6: Leverera meddelandeinnehåll

Ofta vill du lägga till några av fältet för e-postmeddelanden med data för att rädda användaren en viss typning. Du kan till exempel ställa in listan med e-postmottagare, meddelandemedlet eller meddelandekroppen. Du kan göra detta genom att tillhandahålla denna information som en del av Intent's extras.

Följande kod skapar Intent, konfigurerar extrafunktionerna och startar den nya 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 ämne"); emailIntent.setType ( "plain / a"); emailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "My message body."); startActivity (emailIntent); 

Nu, om du startar ACTION_SEND Intent, fylls fälten in för användaren.

En anteckning om tillstånd: Även om din ansökan använder sig av meddelandekapacitet på enheten, är det inte nödvändigt att ha sådana behörigheter. Detta beror på att programmet inte direkt skickar meddelanden själv. I stället utnyttjar det bara andra programmets möjligheter att göra det.

Slutsats

I denna snabba tips har du lärt dig hur du konfigurerar en avsikt att starta och skicka ett e-postmeddelande. Användaren har fortfarande kontroll över huruvida meddelandet ska skickas eller inte. Denna funktion kan dock vara mycket användbar för applikationer som vill inkludera enkel återkopplingsfunktion för användaren eller integrera tätt med användarens föredragna e-postklient.

Om Författarna

Mobila utvecklare Lauren Darcey och Shane Conder har medverkat flera böcker om Android-utveckling: en fördjupad programmeringsbok med titeln Android Wireless Application Development och Sams TeachYourself Android Application Development inom 24 timmar. När de inte skriver, spenderar de sin tid på att utveckla mobil mjukvara hos sina företag och tillhandahålla konsulttjänster. De kan nås via e-post till [email protected], via deras blogg på androidbook.blogspot.com, och på Twitter @ androidwireless.

Behöver du hjälp med att skriva Android Apps? Kolla in våra senaste böcker och resurser!