Share via


Xamarin.Essentials: Uygulama Eylemleri

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

Kullanmaya başlayın

Bu API'yi kullanmaya başlamak için kitaplığın projelerinizde düzgün yüklendiğinden ve ayarlandığından emin olmak için Xamarin.Essentials kullanmaya başlama kılavuzunu okuyun.

AppActions işlevine 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ştur

Sınıfınızda için 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ızın SetAsync eylem listesini oluşturmak için yöntemini çağırın.

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 bir sürümünde desteklenmiyorsa bir FeatureNotSupportedException oluşturulur.

Aşağıdaki özellikler bir AppActionüzerinde ayarlanabilir:

  • Kimlik: Eyleme dokunmaya yanıt vermek için kullanılan benzersiz tanımlayıcı.
  • Başlık: Görüntülenecek görünür başlık.
  • Alt başlık: Başlığın altında görüntülenecek bir alt başlık destekleniyorsa.
  • Simge: Her platformda karşılık gelen kaynaklar dizinindeki simgelerle eşleşmelidir.

App Actions on Homescreen

Eylemlere Yanıt Verme

Uygulamanız başladığında olaya kaydolun OnAppAction . Bir uygulama eylemi seçildiğinde, olay hangi eylemin seçildiğine ilişkin 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

Uygulamasını çağırarak AppActions.GetAsync()geçerli Uygulama Eylemleri listesini alabilirsiniz.

API