Xamarin.Essentials: Actions d’application
La classe AppActions vous permet de créer et de répondre aux raccourcis d’application à partir de l’icône d’application.
Démarrage
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 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 pour 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, une FeatureNotSupportedException
opération est levée.
Les propriétés suivantes peuvent être définies sur un AppAction
:
- ID : identificateur unique utilisé pour répondre au tap d’action.
- Titre : titre visible à afficher.
- Sous-titre : si un sous-titre est pris en charge pour s’afficher sous le titre.
- Icône : doit correspondre aux icônes dans le répertoire des ressources correspondantes sur chaque plateforme.
Réponse aux actions
Lorsque votre application commence à s’inscrire à 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()
.