Astuce permettre aux utilisateurs d’envoyer des courriers électroniques à partir de vos applications Android - La solution de facilité

Cette astuce vous explique comment lancer l'application Mail intégrée, lui fournir des données et permettre à l'utilisateur d'envoyer un courrier électronique. Vous y parviendrez en créant et en configurant l’intention appropriée dans l’activité de l’application..

Étape 1: Créer une application Android

Commencez par créer un projet Android. Implémentez votre application Android comme d'habitude. Une fois le projet configuré et l'application en cours d'exécution, déterminez dans quelles circonstances vous souhaitez lancer une application de messagerie et envoyer un courrier électronique. Cela se produira-t-il lorsqu'un bouton est enfoncé? Voulez-vous renseigner les détails de l'e-mail ou simplement permettre à l'utilisateur de le faire? Implémentez le bouton ou le contrôle de menu nécessaire, y compris la gestion des clics. Une fois que vous avez terminé cette tâche, vous avez un endroit où déposer le code pour lancer le client de messagerie..

Si vous utilisez un émulateur, vous devez configurer le client de messagerie. Si le client de messagerie n'est pas configuré, il ne répondra pas à l'intention dont nous allons parler. Si vous souhaitez voir le sélecteur en action, vous devez configurer un appareil à l'aide de plusieurs applications de messagerie, telles que les applications Gmail et Email..

Maintenant vous êtes prêt à continuer avec cette astuce.

Vous pouvez également vous familiariser avec le code open source fourni pour ce conseil rapide..

Étape 2: Créer l'intention

Les applications de messagerie peuvent être lancées pour envoyer un message avec l’intention suivante: android.content.Intent.ACTION_SEND. Commencez par créer une intention de ce type, comme suit, dans votre gestionnaire de clic sur le bouton:

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

Étape 3: Configuration du type d'intention

C'est un type d'intention très générique. Fondamentalement, il indique au système Android que votre application souhaite envoyer un message quelque part: l’intention ACTION_SEND peut être utilisée pour envoyer différents types de messages, notamment des messages électroniques, des messages texte (SMS), des messages photo (MMS), etc. , vous devez ajouter des informations de configuration supplémentaires à l’intention afin que le système d’exploitation Android corresponde correctement à votre demande avec l’application appropriée..

Par exemple, si vous envisagez d'envoyer des données texte, vous devez définir le type de l'intention à l'aide de la méthode setType () comme suit:

 emailIntent.setType ("plain / text"); 

Sur un appareil typique, les applications Messaging et Mail gèrent généralement l’envoi de messages en texte brut..

Étape 4: Lancer l'intention

Lorsque vous lancez cette intention, toutes les applications prenant en charge la messagerie en texte brut pourront gérer cette demande. Une fois que vous avez défini les données de type pour l’intention, vous pouvez appeler la méthode startActivity () en lui transmettant votre intention:

 startActivity (emailIntent); 

Étape 5: Traitement lorsque plusieurs applications peuvent envoyer un courrier

Les utilisateurs peuvent installer un nombre illimité d'applications Android sur leurs appareils. Souvent, ils installent plusieurs applications de messagerie. Par exemple, ils peuvent avoir des applications client de messagerie personnelle et client de messagerie professionnelle distinctes. Vous pouvez permettre à l'utilisateur de choisir quelle application gérera l'intention en fournissant l'appel startActivity () avec la méthode createChooser ():

 startActivity (Intent.createChooser (emailIntent, "Envoyez votre email en:")); 

Cela incitera l'utilisateur toutes les applications pour lesquelles un filtre d'intention a été configuré pour correspondre à votre demande ACTION_SEND en texte brut. L'utilisateur peut choisir une application spécifique à lancer..

Remarque: Si un seul choix est disponible, ce choix sera lancé directement. S'il n'y a aucun choix disponible, la boîte de dialogue s'affiche mais indique à l'utilisateur qu'il n'y a pas de choix. S'il y a deux choix ou plus, l'utilisateur a le choix, mais pas l'option de choisir par défaut, car le sélecteur est forcé..

Étape 6: Fourniture du contenu du message

Souvent, vous souhaitez fournir des données à certains champs du courrier électronique afin de préserver l'utilisateur en tapant. Par exemple, vous pouvez définir la liste des destinataires du courrier électronique, l'objet du message ou le corps du message. Vous pouvez le faire en fournissant ces informations dans le cadre des extras de l'intention.

Le code suivant crée l'intention, configure les extras et lance la nouvelle activité:

 Intention 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, "Mon sujet"); emailIntent.setType ("plain / text"); emailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "Le corps de mon message."); startActivity (emailIntent); 

Maintenant, si vous lancez l’intention ACTION_SEND, les champs sont remplis pour l’utilisateur..

Une note sur les autorisationsRemarque: bien que votre application exploite les fonctionnalités de messagerie du périphérique, il n’est pas nécessaire de disposer de telles autorisations. En effet, l'application n'envoie pas directement de messages. Il s'agit simplement de tirer parti des capacités d'autres applications pour le faire..

Conclusion

Dans cette astuce, vous avez appris comment configurer une intention pour lancer et envoyer un message électronique. L'utilisateur a toujours le contrôle ultime sur l'envoi ou non du message. Toutefois, cette fonctionnalité peut être très utile pour les applications souhaitant inclure une fonctionnalité de retour d’information simple ou s’intégrer étroitement au client de messagerie préféré de l’utilisateur..

à propos des auteurs

Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android et Sams TeachYourself Développement d'applications Android en 24 heures. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..

Besoin d'aide pour écrire des applications Android? Consultez nos derniers livres et ressources!