Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Класс AppActions позволяет создавать сочетания клавиш для значка приложения и настраивать реакцию на них.
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Для доступа к функции AppActions нужно создать описанную ниже конфигурацию для конкретной платформы.
Добавьте фильтр намерения в класс MainActivity:
[IntentFilter(
new[] { Xamarin.Essentials.Platform.Intent.ActionAppAction },
Categories = new[] { Android.Content.Intent.CategoryDefault })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
Затем добавьте следующую логику для обработки действий:
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);
}
Создание действий
Добавьте ссылку на Xamarin.Essentials в своем классе:
using Xamarin.Essentials;
Действия приложения можно создавать в любое время, но зачастую они создаются при запуске приложения. Вызовите метод SetAsync, чтобы создать список действий для приложения.
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");
}
Если действия приложения не поддерживаются в конкретной версии операционной системы, будет вызвано исключение FeatureNotSupportedException.
Для AppAction можно задать следующие свойства:
- Идентификатор: уникальный идентификатор, используемый для реагирования на касание действия.
- Title — отображаемый заголовок.
- Подзаголовок: если поддерживается подзаголовок для отображения под заголовком.
- Значок: должен соответствовать значкам в соответствующем каталоге ресурсов на каждой платформе.

Реагирование на действия
При запуске приложения зарегистрируйтесь для получения события OnAppAction. При выборе действия приложения будет отправлено событие со сведениями о том, какое действие было выбрано.
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
Текущий список действий приложения можно получить, вызвав AppActions.GetAsync().