Suggerimento rapido consentire agli utenti di inviare e-mail dalle applicazioni Android la via più semplice

Questo suggerimento rapido mostra come avviare l'applicazione di posta elettronica incorporata, fornirla con i dati e consentire all'utente di inviare un messaggio di posta elettronica. Otterrai ciò creando e configurando l'Intento appropriato all'interno dell'attività di un'applicazione.

Passaggio 1: crea un'applicazione Android

Inizia creando un progetto Android. Implementa la tua applicazione Android normalmente. Dopo aver configurato un progetto e avviato l'applicazione, decidere in quali circostanze si desidera avviare un'applicazione di posta elettronica e inviare un messaggio di posta elettronica. Ciò si verificherà quando viene premuto un controllo Button? Vuoi inserire i dettagli dell'email o semplicemente consentire all'utente di farlo? Implementa il controllo Pulsante o menu necessario, inclusa la gestione dei clic. Una volta completata questa attività, hai un posto dove inserire il codice per avviare il client di posta.

Se si utilizza un emulatore, è necessario configurare il client di posta elettronica. Se il client di posta elettronica non è configurato, non risponderà all'intento di cui parleremo. Se vuoi vedere il selettore in azione, devi configurare un dispositivo utilizzando più applicazioni di messaggistica, come l'applicazione Gmail e l'applicazione Email.

Ora sei pronto per procedere con questo suggerimento rapido.

Puoi anche iniziare con il codice open source fornito per questo suggerimento rapido.

Passaggio 2: creazione dell'intento

Le applicazioni di posta possono essere lanciate per inviare un messaggio con il seguente intento: android.content.Intent.ACTION_SEND. Inizia creando un Intento di questo tipo, come indicato di seguito, all'interno del gestore di clic Button:

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

Passaggio 3: configurazione del tipo di intento

Questo è un tipo di Intent molto generico. Fondamentalmente, dice al sistema Android che l'applicazione vuole inviare qualche tipo di messaggio da qualche parte: l'intento ACTION_SEND può essere utilizzato per inviare diversi tipi di messaggi inclusi messaggi e-mail, messaggi di testo (SMS), messaggi con disegno (MMS), ecc. , è necessario aggiungere alcune informazioni di configurazione aggiuntive all'intento affinché il sistema operativo Android corrisponda correttamente alla richiesta all'applicazione appropriata.

Ad esempio, se hai intenzione di inviare dati di testo, devi impostare il tipo di Intento usando il metodo setType () come segue:

 emailIntent.setType ( "plain / text"); 

Su un dispositivo tipico, l'applicazione di messaggistica e l'applicazione di posta gestiscono generalmente l'invio di messaggi di testo normale.

Passaggio 4: avvio dell'intento

Quando si avvia questa intenzione, tutte le applicazioni che supportano la messaggistica in chiaro saranno in grado di gestire questa richiesta. Dopo aver impostato i dati del tipo per l'intento, puoi chiamare il metodo startActivity (), passando il tuo intento:

 startActivity (emailIntent); 

Passaggio 5: gestione quando più applicazioni possono inviare posta

Gli utenti possono installare qualsiasi numero di applicazioni Android sui propri dispositivi. Spesso installano più applicazioni di messaggistica. Ad esempio, potrebbero avere client e-mail personali separati e applicazioni client e-mail di lavoro. È possibile consentire all'utente di scegliere quale applicazione gestire l'intenzione fornendo la chiamata startActivity () con il metodo createChooser ():

 startActivity (Intent.createChooser (emailIntent, "Invia la tua email in:")); 

Questo richiederà all'utente tutte le applicazioni che dispongono di un filtro di intent che corrisponde alla tua richiesta ACTION_SEND di testo normale. L'utente può scegliere un'applicazione specifica da avviare.

Nota: se esiste una sola scelta disponibile, quella scelta verrà avviata direttamente. Se ci sono zero scelte disponibili, la finestra di dialogo mostra ma dice all'utente che non ci sono scelte. Se ci sono due o più scelte, all'utente viene data la scelta mentre non gli viene data la possibilità di fare una scelta predefinita poiché il selettore viene forzato.

Passaggio 6: fornitura del contenuto del messaggio

Spesso, si desidera fornire alcuni dei campi dei messaggi di posta elettronica con i dati al fine di salvare alcuni tipi di digitazione dell'utente. Ad esempio, è possibile impostare l'elenco dei destinatari e-mail, l'oggetto del messaggio o il corpo del messaggio. Puoi farlo fornendo queste informazioni come parte degli extra dell'Intent.

Il codice seguente crea l'intenzione, configura gli extra e avvia la nuova attività:

 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, "My subject"); emailIntent.setType ( "plain / text"); emailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "Il mio corpo del messaggio."); startActivity (emailIntent); 

Ora, se si avvia l'intento ACTION_SEND, i campi vengono compilati per l'utente.

Una nota sulle autorizzazioni: Sebbene l'applicazione sfrutti le funzionalità di messaggistica sul dispositivo, non è necessario disporre di tali autorizzazioni. Questo perché l'applicazione non invia direttamente i messaggi. Invece, è solo sfruttando le capacità di altre applicazioni per farlo.

Conclusione

In questo suggerimento veloce hai imparato come configurare un intent per lanciare e inviare un messaggio email. L'utente ha ancora il controllo finale se inviare o meno il messaggio. Tuttavia, questa funzione può essere molto utile per le applicazioni che desiderano includere funzionalità di feedback utente semplici o per integrarsi strettamente con il client di posta elettronica preferito dell'utente.

Riguardo agli Autori

Gli sviluppatori mobili Lauren Darcey e Shane Conder hanno coautore diversi libri sullo sviluppo di Android: un libro di programmazione approfondito intitolato Sviluppo di applicazioni wireless Android e Sams TeachYourself Sviluppo di applicazioni Android in 24 ore. Quando non scrivono, passano il loro tempo a sviluppare software mobile presso la loro azienda ea fornire servizi di consulenza. Possono essere contattati via email a [email protected], tramite il loro blog su androidbook.blogspot.com e su Twitter @androidwireless.

Hai bisogno di più aiuto nella scrittura di app per Android? Consulta i nostri ultimi libri e risorse!