Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma notificação de aplicação é um pop-up na interface que aparece fora da janela da sua aplicação, fornecendo informações ou ações oportunas ao utilizador. As notificações podem ser puramente informativas, podem abrir a sua aplicação ao clicar, ou podem desencadear uma ação em segundo plano sem trazer a aplicação para o primeiro plano.
Este artigo explica-te os passos para criar e enviar uma notificação de aplicação a partir de uma aplicação UWP, e depois gerir a ativação quando o utilizador interagir com ela.
Para uma visão geral das notificações de aplicações e orientações para outros frameworks, consulte Visão geral das notificações de aplicações.
Este artigo aborda as notificações locais. Para informações sobre a entrega de notificações a partir de um serviço cloud, consulte Visão Geral das notificações Push.
Pré-requisitos
- Um projeto de aplicação UWP no Visual Studio
- A carga de trabalho de desenvolvimento da Plataforma Universal do Windows instalada no Visual Studio
Enviar uma notificação de aplicação
As aplicações UWP utilizam o espaço de nomes Windows.UI.Notifications para construir e enviar notificações usando XML. Esta secção mostra como enviar notificações usando C# e C++.
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
var xml = @"<toast launch=""action=viewConversation&conversationId=9813"">
<visual>
<binding template=""ToastGeneric"">
<text>Andrew sent you a picture</text>
<text>Check this out, The Enchantments in Washington!</text>
</binding>
</visual>
</toast>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var notification = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier().Show(notification);
Manipular a ativação
Quando o utilizador clica na sua notificação (ou num botão na notificação com ativação em primeiro plano), o método OnActivated da sua aplicação é invocado.
OnLaunched não é chamado para ativações de notificações, mesmo que a sua aplicação tenha sido fechada e esteja a lançar-se pela primeira vez. Recomendamos combinar OnLaunched e OnActivated integrar um método de inicialização partilhado.
App.xaml.cs
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
OnLaunchedOrActivated(e.PreviousExecutionState);
var rootFrame = Window.Current.Content as Frame;
if (e.PrelaunchActivated == false)
{
if (rootFrame?.Content == null)
{
rootFrame?.Navigate(typeof(MainPage), e.Arguments);
}
Window.Current.Activate();
}
}
protected override void OnActivated(IActivatedEventArgs e)
{
OnLaunchedOrActivated(e.PreviousExecutionState);
if (e is ToastNotificationActivatedEventArgs toastArgs)
{
var rootFrame = Window.Current.Content as Frame;
if (rootFrame?.Content == null)
{
rootFrame?.Navigate(typeof(MainPage));
}
Window.Current.Activate();
// Parse the notification arguments
string argument = toastArgs.Argument;
// TODO: Navigate to the relevant content based on the arguments
}
}
private void OnLaunchedOrActivated(ApplicationExecutionState previousState)
{
if (Window.Current.Content is not Frame)
{
var rootFrame = new Frame();
rootFrame.NavigationFailed += OnNavigationFailed;
Window.Current.Content = rootFrame;
}
}
Para informações sobre como adicionar botões, imagens, entradas, áudio e outros conteúdos ricos às suas notificações, consulte Conteúdo de notificações da aplicação.