app Een melding plannen

U kunt een app-melding plannen om op een later tijdstip te verschijnen, ongeacht of uw app op dat moment actief is. Dit is handig voor scenario's zoals het weergeven van herinneringen of andere opvolgingstaken voor de gebruiker, waarbij de tijd en inhoud van de melding van tevoren bekend zijn.

Geplande app meldingen hebben een bezorgingsvenster van 5 minuten. Als de computer is uitgeschakeld tijdens de geplande levertijd en langer dan 5 minuten uitgeschakeld blijft, wordt de melding 'verwijderd' omdat deze niet langer relevant is voor de gebruiker. Als u gegarandeerde bezorging van meldingen nodig hebt, ongeacht hoe lang de computer was uitgeschakeld, raden we u aan een achtergrondtaak met een tijdtrigger te gebruiken. Zie Achtergrondtaken voor meer informatie.

Zie het overzicht van meldingen voor meer informatie over appmeldingenApp.

Opmerking

In de codevoorbeelden in dit artikel wordt de naamruimte Microsoft.Windows.AppNotifications gebruikt om inhoud voor meldingen en de Windows.UI.Notifications-naamruimte te maken voor het plannen. Deze twee naamruimten kunnen samen worden gebruikt in hetzelfde app.

De melding plannen

Als u een melding voor een later tijdstip wilt plannen, gebruikt u AppNotificationBuilder om de inhoud van de melding te definiƫren; roep AddToSchedule aan met een ScheduledToastNotification. In het volgende voorbeeld wordt een melding gepland die 10 seconden vanaf nu wordt weergegeven.

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);

De eigenschappen Tag en Groep fungeren als een samengestelde primaire sleutel voor de melding. Als u deze waarden instelt, kunt u de geplande melding later annuleren of vervangen, zoals wordt weergegeven in de volgende sectie.

Geplande meldingen annuleren

Als u een geplande melding wilt annuleren, roept u GetScheduledToastNotifications aan om de lijst met meldingen in behandeling op te halen en roept u RemoveFromSchedule aan op de melding die overeenkomt met de tag die u eerder hebt opgegeven.

var notifier = ToastNotificationManager.CreateToastNotifier();
var scheduled = notifier.GetScheduledToastNotifications();

foreach (var notification in scheduled)
{
    if (notification.Tag == "18365")
    {
        notifier.RemoveFromSchedule(notification);
    }
}

Zie ook