Xamarin.Essentials: Actions de l’application

La classe AppActions vous permet de créer et de répondre aux raccourcis d’application à partir de l’icône d’application.

Bien démarrer

Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.

Pour accéder à la fonctionnalité AppActions , la configuration spécifique à la plateforme suivante est requise.

Ajoutez le filtre d’intention à votre MainActivity classe :

[IntentFilter(
        new[] { Xamarin.Essentials.Platform.Intent.ActionAppAction },
        Categories = new[] { Android.Content.Intent.CategoryDefault })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    ...

Ajoutez ensuite la logique suivante pour gérer les actions :

protected override void OnResume()
{
    base.OnResume();

    Xamarin.Essentials.Platform.OnResume(this);
}

protected override void OnNewIntent(Android.Content.Intent intent)
{
    base.OnNewIntent(intent);

    Xamarin.Essentials.Platform.OnNewIntent(intent);
}

Créer des actions

Ajoutez une référence à Xamarin.Essentials dans votre classe :

using Xamarin.Essentials;

Les actions d’application peuvent être créées à tout moment, mais sont souvent créées au démarrage d’une application. Appelez la SetAsync méthode pour créer la liste des actions de votre application.

try
{
    await AppActions.SetAsync(
        new AppAction("app_info", "App Info", icon: "app_info_action_icon"),
        new AppAction("battery_info", "Battery Info"));
}
catch (FeatureNotSupportedException ex)
{
    Debug.WriteLine("App Actions not supported");
}

Si les actions d’application ne sont pas prises en charge sur la version spécifique du système d’exploitation, un FeatureNotSupportedException est levée.

Les propriétés suivantes peuvent être définies sur un :AppAction

  • Id : identificateur unique utilisé pour répondre au tap de l’action.
  • Titre : titre visible à afficher.
  • Sous-titre : s’il est pris en charge un sous-titre à afficher sous le titre.
  • Icône : doit correspondre aux icônes du répertoire de ressources correspondant sur chaque plateforme.

Actions d’application sur l’écran d’accueil

Réponse aux actions

Lorsque votre application démarre, inscrivez-vous à l’événement OnAppAction . Lorsqu’une action d’application est sélectionnée, l’événement est envoyé avec des informations sur l’action sélectionnée.

public App()
{
    //...
    AppActions.OnAppAction += AppActions_OnAppAction;
}

void AppActions_OnAppAction(object sender, AppActionEventArgs e)
{
    // Don't handle events fired for old application instances
    // and cleanup the old instance's event handler
    if (Application.Current != this && Application.Current is App app)
    {
        AppActions.OnAppAction -= app.AppActions_OnAppAction;
        return;
    }
    MainThread.BeginInvokeOnMainThread(async () =>
    {
        await Shell.Current.GoToAsync($"//{e.AppAction.Id}");
    });
}

GetActions

Vous pouvez obtenir la liste actuelle des actions d’application en appelant AppActions.GetAsync().

API