Xamarin : Recevoir du texte depuis une autre app Android

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 :

using Android.Content;
Cela permet d’avoir accès à la classe Intent.


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 :

L’application est bien dans listes des applications acceptant le partage texte

Happy coding 🙂

Pour aller plus loin :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Pin It on Pinterest