Xamarin.Essentials: Akcje aplikacji

Klasa AppActions umożliwia tworzenie skrótów aplikacji i reagowanie na nie z poziomu ikony aplikacji.

Rozpocznij

Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.

Aby uzyskać dostęp do funkcji AppActions , wymagana jest następująca konfiguracja specyficzna dla platformy.

Dodaj filtr intencji do MainActivity klasy:

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

Następnie dodaj następującą logikę do obsługi akcji:

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);
}

Tworzenie akcji

Dodaj odwołanie do Xamarin.Essentials klasy:

using Xamarin.Essentials;

Akcje aplikacji można tworzyć w dowolnym momencie, ale są często tworzone podczas uruchamiania aplikacji. Wywołaj metodę , SetAsync aby utworzyć listę akcji dla aplikacji.

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");
}

Jeśli akcje aplikacji nie są obsługiwane w określonej wersji systemu operacyjnego, FeatureNotSupportedException zostanie zgłoszony.

Następujące właściwości można ustawić na obiekcie AppAction:

  • Identyfikator: unikatowy identyfikator używany do reagowania na naciśnięcie akcji.
  • Tytuł: widoczny tytuł do wyświetlenia.
  • Podtytuł: jeśli jest obsługiwany tytuł podrzędny do wyświetlenia pod tytułem.
  • Ikona: musi być zgodna z ikonami w odpowiednim katalogu zasobów na każdej platformie.

App Actions on Homescreen

Odpowiadanie na akcje

Po uruchomieniu OnAppAction rejestracji aplikacji dla zdarzenia. Po wybraniu akcji aplikacji zdarzenie zostanie wysłane z informacjami dotyczącymi wybranej akcji.

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

Bieżącą listę akcji aplikacji można uzyskać, wywołując polecenie AppActions.GetAsync().

interfejs API