Acest sfat rapid vă arată modul de lansare a aplicației Mail încorporate, furnizați-o cu date și permiteți utilizatorului să trimită un mesaj de poștă electronică. Veți realiza acest lucru prin crearea și configurarea intenției corespunzătoare în cadrul activității unei aplicații.
Începeți prin crearea unui proiect Android. Implementați-vă aplicația Android ca în mod normal. Odată ce ați instalat un proiect și aplicația rulează, decideți în ce condiții doriți să lansați o aplicație de e-mail și să trimiteți un e-mail. Va apare acest lucru când se apasă un buton de comandă? Doriți să completați detaliile e-mailului sau pur și simplu permiteți utilizatorului să facă acest lucru? Implementați butonul sau comanda de meniu necesare, inclusiv orice manipulare a clicurilor. După ce ați finalizat această sarcină, aveți un loc pentru a renunța la cod pentru a lansa clientul de e-mail.
Dacă utilizați un emulator, va trebui să configurați clientul de e-mail. Dacă clientul de e-mail nu este configurat, acesta nu va răspunde la intenția pe care o vom discuta. Dacă doriți să vedeți selectorul în acțiune, va trebui să configurați un dispozitiv utilizând mai multe aplicații de mesagerie, cum ar fi aplicația Gmail și aplicația de e-mail.
Acum sunteți gata să continuați cu acest sfat rapid.
De asemenea, puteți începe să utilizați codul sursă deschis pentru acest sfat rapid.
Aplicațiile poștale pot fi lansate pentru a trimite un mesaj cu următorul intenție: android.content.Intent.ACTION_SEND. Începeți prin crearea unui Intent de acest tip, după cum urmează, în cadrul butonului dvs. de apăsare pe butoane:
Intent emailIntent = intenție nouă (android.content.Intent.ACTION_SEND);
Acesta este un tip de intenție foarte generic. În principiu, spune sistemului Android că aplicația dvs. dorește să trimită un fel de mesaj undeva - intenția ACTION_SEND poate fi utilizată pentru a trimite diferite tipuri de mesaje, inclusiv mesaje e-mail, mesaje text (SMS), mesaje ilustrate (MMS) etc. , trebuie să adăugați câteva informații de configurare suplimentare la Intent, pentru ca sistemul de operare Android să corespundă corect solicitării dumneavoastră cu aplicația corespunzătoare.
De exemplu, dacă intenționați să trimiteți date text, ați seta tipul intenției folosind metoda setType () după cum urmează:
emailIntent.setType ( "plain / text");
Pe un dispozitiv obișnuit, aplicația Mesagerie și aplicația Mail răspund în general trimiterii de mesaje text simple.
Când lansați această intenție, toate aplicațiile care acceptă mesaje text plaindute vor putea face față acestei solicitări. Odată ce ați setat datele de tip pentru intenția, puteți apela metoda startActivity (), trecând în intenția dvs.:
startActivity (emailIntent);
Utilizatorii pot instala orice număr de aplicații Android pe dispozitivele lor. Adesea, ele instalează mai multe aplicații de mesagerie. De exemplu, aceștia ar putea avea aplicații client separate de e-mail personalizate și aplicații client de e-mail de lucru. Puteți permite utilizatorului să aleagă ce aplicație să se ocupe de Intent furnizând apelul startActivity () cu metoda createChooser ():
startActivity (Intent.createChooser (emailIntent, "Trimiteți-vă e-mailul în:"));
Acest lucru va solicita utilizatorului toate aplicațiile care au un filtru de intenție setat care să corespundă solicitării dvs. ACTION_SEND pentru textul simplu. Utilizatorul poate alege o aplicație specifică de lansat.
Notă: dacă există o alegere exactă, alegerea va fi lansată direct. Dacă există opțiuni zero, dialogul afișează, dar le spune utilizatorului că nu există opțiuni. Dacă există două sau mai multe opțiuni, utilizatorul are posibilitatea de a alege, în timp ce nu este dat opțiunea de a face o alegere implicită, deoarece selectorul este forțat.
De multe ori, doriți să furnizați câteva câmpuri de mesaje de e-mail cu date pentru a salva utilizatorul de o tastare. De exemplu, este posibil să doriți să setați lista destinatarilor de e-mail, subiectul mesajului sau corpul mesajului. Puteți face acest lucru furnizând aceste informații ca parte a extrasului intenției.
Următorul cod creează intenția, configurează extrasele și lansează noua activitate:
Intent emailIntent = intenție nouă (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, "Subiectul meu"); emailIntent.setType ( "plain / text"); emailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "Corpul mesajului meu"); startActivity (emailIntent);
Acum, dacă lansați intenția ACTION_SEND, câmpurile sunt completate pentru utilizator.
O notă privind permisiunile: Deși aplicația dvs. utilizează capacitățile de mesaje pe dispozitiv, nu este necesar să aveți astfel de permisiuni. Acest lucru se datorează faptului că aplicația nu trimite direct mesaje în sine. În schimb, folosiți doar capabilitățile altor aplicații pentru a face acest lucru.
În acest sfat rapid ați învățat cum să configurați intenția de a lansa și trimite un mesaj de poștă electronică. Utilizatorul are încă un control final asupra transmiterii sau nu a mesajului. Cu toate acestea, această caracteristică poate fi foarte utilă pentru aplicațiile care doresc să includă funcționalitate simplă a feedback-ului de utilizator sau să se integreze strâns cu clientul de e-mail preferat al utilizatorului.
Dezvoltatorii mobili Lauren Darcey și Shane Conder au coautorizat mai multe cărți despre dezvoltarea Android: o carte de programare în profunzime intitulată Dezvoltarea aplicațiilor fără fir Android și Sams TeachYourself Dezvoltarea de aplicații Android în 24 de ore. Când nu scriu, își petrec timpul dezvoltând software-ul mobil la compania lor și oferind servicii de consultanță. Acestea pot fi obținute prin e-mail la androidwirelessdev@[email protected], prin intermediul blogului lor la androidbook.blogspot.com, și pe Twitter @ androidwireless.