Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode agendar uma app notificação para aparecer mais tarde, mesmo que o app não esteja em execução naquele momento. Isso é útil para cenários como exibir lembretes ou outras tarefas de acompanhamento para o usuário, em que o tempo e o conteúdo da notificação são conhecidos antecipadamente.
As notificações agendadas app têm uma janela de entrega de 5 minutos. Se o computador estiver desativado durante o tempo de entrega agendado e permanecer desativado por mais de 5 minutos, a notificação será "descartada" como não mais relevante para o usuário. Se você precisar de entrega garantida de notificações, independentemente de quanto tempo o computador estava desativado, recomendamos usar uma tarefa em segundo plano com um gatilho de tempo. Para obter mais informações, consulte tarefas em segundo plano.
Para obter 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 usam o namespace Microsoft.Windows.AppNotifications para criar conteúdo de notificação e o namespace Windows.UI.Notifications para agendamento. Esses dois namespaces podem ser usados juntos no mesmo app.
Agendar a notificação
Para agendar uma notificação para uma hora futura, use AppNotificationBuilder para definir o conteúdo da notificação, em seguida, chame AddToSchedule com um ScheduledToastNotification. O exemplo a seguir 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 Marca e Grupo atuam como uma chave primária composta para a notificação. Definir esses valores permite que você cancele ou substitua a notificação agendada posteriormente, conforme mostrado na próxima seção.
Cancelar notificações agendadas
Para cancelar uma notificação agendada, chame GetScheduledToastNotifications para recuperar a lista de notificações pendentes e, em seguida, chame RemoveFromSchedule no que corresponde à marca especificada 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