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.
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.