Xamarin.Essentials: Uygulama Eylemleri

AppActions sınıfı, uygulama kısayollarını uygulama simgesinden oluşturmanıza ve yanıtlamanızı sağlar.

başlarken

Bu API'yi kullanmaya başlamak için kitaplığın projelerinize düzgün bir şekilde yük olduğundan ve ayar olduğundan emin olmak için başlangıç kılavuzunu okuyun.

AppActions işlevselliğine erişmek için aşağıdaki platforma özgü kurulum gereklidir.

Amaç filtresini sınıfınıza MainActivity ekleyin:

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

Ardından eylemleri işlemek için aşağıdaki mantığı ekleyin:

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

Eylem Oluşturma

sınıfınıza Xamarin.Essentials bir başvuru ekleyin:

using Xamarin.Essentials;

Uygulama Eylemleri herhangi bir zamanda oluşturulabilir, ancak genellikle bir uygulama başlatıldığında oluşturulur. Uygulamanıza SetAsync eylem listesi oluşturmak için yöntemini çağırma.

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

Uygulama Eylemleri işletim sisteminin belirli sürümünde desteklenmiyorsa, FeatureNotSupportedException bir atlar.

Bir üzerinde aşağıdaki özellikler ayar AppAction olabilir:

  • Kimlik: Eylem dokunma eylemine yanıt vermek için kullanılan benzersiz bir tanımlayıcı.
  • Başlık: Görüntülenebilecek başlık.
  • Alt başlık: Başlığın altında görüntülemek için bir alt başlık destekleniyorsa.
  • Simge: Her platformda karşılık gelen resources dizininde bulunan simgelerle eşleşmesi gerekir.

Ana Ekranda Uygulama Eylemleri

Eylemlere Yanıt Verme

Uygulamanız çalışmaya başladığında olay için OnAppAction kaydolabilirsiniz. Bir uygulama eylemi seçildiğinde, olay hangi eylemin seç olduğuyla ilgili bilgilerle birlikte gönderilir.

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

çağırarak Uygulama Eylemleri'nin geçerli listesini AppActions.GetAsync() edinebilirsiniz.

API