Ações do aplicativo
Este artigo descreve como você pode usar a interface .NET Multi-platform App UI (.NET MAUI), IAppActions que permite criar e responder a atalhos de aplicativo. Os atalhos de aplicativo são úteis para os usuários porque permitem que você, como desenvolvedor do aplicativo, apresente a eles maneiras extras de iniciar seu aplicativo. Por exemplo, se você estivesse desenvolvendo um aplicativo de email e calendário, poderia apresentar duas ações de aplicativo diferentes, uma para abrir o aplicativo diretamente para o dia atual do calendário e outra para abrir para a pasta da caixa de entrada de email.
A implementação padrão da interface está disponível por meio da IAppActions
AppActions.Current propriedade. A interface e AppActions
a IAppActions
classe estão contidas no Microsoft.Maui.ApplicationModel
namespace.
Introdução
Para acessar a funcionalidade, é necessária a seguinte configuração específica da AppActions
plataforma.
Platforms/Android/MainActivity.cs No arquivo, adicione o e substitui a MainActivity
classe e OnNewIntent
o OnResume
seguinte IntentFilter
atributo:
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
[IntentFilter(new[] { Platform.Intent.ActionAppAction },
Categories = new[] { global::Android.Content.Intent.CategoryDefault })]
public class MainActivity : MauiAppCompatActivity {
protected override void OnResume()
{
base.OnResume();
Platform.OnResume(this);
}
protected override void OnNewIntent(Android.Content.Intent intent)
{
base.OnNewIntent(intent);
Platform.OnNewIntent(intent);
}
}
Criar ações
As ações do aplicativo podem ser criadas a qualquer momento, mas geralmente são criadas quando um aplicativo é iniciado. Para configurar ações do aplicativo, chame o ConfigureEssentials(MauiAppBuilder, Action<IEssentialsBuilder>)MauiAppBuilder método no objeto no arquivo MauiProgram.cs . Há dois métodos que você deve chamar no IEssentialsBuilder objeto para habilitar uma ação de aplicativo:
-
Esse método cria uma ação. É necessária uma cadeia de caracteres para identificar exclusivamente a ação e uma
id
title
cadeia de caracteres que é exibida para o usuário. Opcionalmente, você pode fornecer uma legenda e um ícone. -
O delegado passado para esse método é chamado quando o usuário invoca uma ação de aplicativo, desde que a instância de ação de aplicativo. Verifique a
Id
propriedade da ação para determinar qual ação de aplicativo foi iniciada pelo usuário.
O código a seguir demonstra como configurar as ações do aplicativo na inicialização do aplicativo:
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
})
.ConfigureEssentials(essentials =>
{
essentials
.AddAppAction("app_info", "App Info", icon: "app_info_action_icon")
.AddAppAction("battery_info", "Battery Info")
.OnAppAction(App.HandleAppActions);
});
return builder.Build();
}
Respondendo às ações
Depois que as ações do aplicativo forem configuradas, o método será chamado para todas as OnAppAction
ações do aplicativo invocadas pelo usuário. Use a Id
propriedade para diferenciá-los. O código a seguir demonstra como manipular uma ação de aplicativo:
public static void HandleAppActions(AppAction appAction)
{
App.Current.Dispatcher.Dispatch(async () =>
{
var page = appAction.Id switch
{
"battery_info" => new SensorsPage(),
"app_info" => new AppModelPage(),
_ => default(Page)
};
if (page != null)
{
await Application.Current.MainPage.Navigation.PopToRootAsync();
await Application.Current.MainPage.Navigation.PushAsync(page);
}
});
}
Verificar se as ações do aplicativo são suportadas
Quando você cria uma ação de aplicativo, na inicialização do aplicativo ou enquanto o aplicativo está sendo usado, verifique se as ações do aplicativo são suportadas lendo a AppActions.Current.IsSupported
propriedade.
Criar uma ação de aplicativo fora do bootstrap de inicialização
Para criar ações de aplicativo, chame o SetAsync método:
if (AppActions.Current.IsSupported)
{
await AppActions.Current.SetAsync(new[] { new AppAction("app_info", "App Info", icon: "app_info_action_icon"),
new AppAction("battery_info", "Battery Info") });
}
Mais informações sobre ações do aplicativo
Se as ações do aplicativo não forem suportadas na versão específica do sistema operacional, um FeatureNotSupportedException será lançado.
Use o AppAction(String, String, String, String) construtor para definir os seguintes aspectos de uma ação de aplicativo:
- Id: Um identificador exclusivo usado para responder ao toque de ação.
- Title: o título visível a ser exibido.
- Subtitle: Se suportado um subtítulo para exibir sob o título.
- Icon: Deve corresponder aos ícones no diretório de recursos correspondente em cada plataforma.
Obter ações
Você pode obter a lista atual de ações do aplicativo chamando AppActions.Current.GetAsync
.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários