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.
Poderás agendar uma notificação app para aparecer mais tarde, independentemente de o teu app estar a funcionar nessa altura. Isto é útil para cenários como a exibição de lembretes ou outras tarefas de seguimento para o utilizador, onde a hora e o conteúdo da notificação são conhecidos antecipadamente.
As notificações agendadas app têm um prazo de entrega de 5 minutos. Se o computador for desligado durante o tempo de entrega programado e permanecer desligado por mais de 5 minutos, a notificação será "cancelada" por não ser relevante para o utilizador. Se precisar de entrega assegurada das notificações, independentemente de quanto tempo o computador esteve desligado, recomendamos usar uma tarefa em segundo plano com um gatilho de tempo. Para mais informações, consulte Tarefas em segundo plano.
Para mais informações sobre app notificações, consulte App a visão geral das notificações.
Observação
Os exemplos de código neste artigo utilizam o espaço de nomes Microsoft.Windows.AppNotifications para construir conteúdo de notificações e o espaço de nomes Windows.UI.Notifications para agendamento. Estes dois namespaces podem ser usados juntos no mesmo app.
Agende a notificação
Para agendar uma notificação para uma data futura, use AppNotificationBuilder para definir o conteúdo da notificação, depois chame AddToSchedule com um ScheduledToastNotification. O exemplo seguinte agenda uma notificação para aparecer daqui a 10 segundos.
using Microsoft.Windows.AppNotifications.Builder;
using Windows.UI.Notifications;
using Windows.Data.Xml.Dom;
var payload = new AppNotificationBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!")
.BuildNotification()
.Payload;
var doc = new XmlDocument();
doc.LoadXml(payload);
var scheduledNotification = new ScheduledToastNotification(doc, DateTimeOffset.Now.AddSeconds(10));
scheduledNotification.Tag = "18365";
scheduledNotification.Group = "ASTR 170B1";
ToastNotificationManager.CreateToastNotifier().AddToSchedule(scheduledNotification);
As propriedades Tag e Group atuam como uma chave primária composta para a notificação. Definir estes valores permite-lhe cancelar ou substituir a notificação agendada mais tarde, como mostrado na secção seguinte.
Cancelar notificações agendadas
Para cancelar uma notificação agendada, ligue para o GetScheduledToastNotifications para recuperar a lista de notificações pendentes, depois ligue para o RemoveFromSchedule na que corresponde à etiqueta que especificou anteriormente.
var notifier = ToastNotificationManager.CreateToastNotifier();
var scheduled = notifier.GetScheduledToastNotifications();
foreach (var notification in scheduled)
{
if (notification.Tag == "18365")
{
notifier.RemoveFromSchedule(notification);
}
}
Consulte também
Windows developer