Xamarin : Recevoir du texte depuis une autre app Android
La possibilité de recevoir du texte et des images depuis une autre application est un comportement qui est devenu la norme sur les applications mobile.
Dans cet article nous verrons comment activer la réception de données texte via Xamarin Android.
La première étape consiste à modifier la déclaration de l’activité qui va recevoir les données.
Dans notre exemple nous allons modifier la MainActivity mais si vous en avez le besoin vous pouvez créer une activité dédiée.
Dans le fichier MainActivity.cs il faut ajouter le using suivant :
Cela permet d’avoir accès à la classe Intent.using Android.Content;
Sur la classe MainActivity nous ajoutons l’attribut IntentFilter et nous déclarons que nous acceptons les actions Send et SendMultiple :
[IntentFilter( new[] { Intent.ActionSend, Intent.ActionSendMultiple }, Categories = new[] { Intent.CategoryBrowsable, Intent.CategoryDefault }, DataMimeType = "text/plain")]
Puis pour récupérer le texte envoyé à votre app c’est très simple :
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // votre code ici // récupération du type var type = Intent.Type; // récupération de l'action var action = Intent.Action; if (Intent.ActionSend == action && Intent.Type != null) { if ("text/plain" == type) { string sharedText = Intent.GetStringExtra(Intent.ExtraText); } } else if (Intent.ActionSendMultiple == action && type != null) { if ("text/plain" == type) { string sharedText = Intent.GetStringExtra(Intent.ExtraText); } } }
Maintenant quand vous partagez un texte votre application est disponible dans la liste des apps acceptant le texte :

Happy coding 🙂