Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit geplanten Popupbenachrichtigungen können Sie planen, dass eine Benachrichtigung zu einem späteren Zeitpunkt angezeigt wird, unabhängig davon, ob Ihre App zu diesem Zeitpunkt ausgeführt wird. Dies ist nützlich für Szenarien wie das Anzeigen von Erinnerungen oder andere Nachverfolgungsaufgaben für den Benutzer, bei denen die Zeit und der Inhalt der Benachrichtigung vorab bekannt sind.
Beachten Sie, dass geplante Toast-Benachrichtigungen ein Übermittlungsfenster von 5 Minuten aufweisen. Wenn der Computer während der geplanten Zustellungszeit deaktiviert ist und länger als 5 Minuten deaktiviert bleibt, wird die Benachrichtigung "gelöscht", da sie für den Benutzer nicht mehr relevant ist. Wenn Sie eine garantierte Zustellung von Benachrichtigungen benötigen, unabhängig davon, wie lange der Computer ausgeschaltet wurde, empfehlen wir die Verwendung einer Hintergrundaufgabe mit einem Zeitauslöser, wie in diesem Codebeispiel veranschaulicht.
Von Bedeutung
Desktopanwendungen (sowohl verpackt als auch entpackt) weisen geringfügig unterschiedliche Schritte zum Senden von Benachrichtigungen und zum Behandeln der Aktivierung auf. Folgen Sie den nachstehenden Anweisungen, aber ersetzen Sie ToastNotificationManager
durch die DesktopNotificationManagerCompat
-Klasse aus der Dokumentation zu den -Desktop-Apps.
Wichtige APIs: ScheduledToastNotification-Klasse
Voraussetzungen
Um dieses Thema vollständig zu verstehen, ist Folgendes hilfreich...
- Grundkenntnisse von Toast-Benachrichtigungsbegriffen und -konzepten. Weitere Informationen finden Sie unter Übersicht über Popups und Info-Center.
- Erfahrung mit Windows 10-Toast-Benachrichtigungsinhalten. Weitere Informationen finden Sie in Dokumentation zu Popupinhalten.
- Ein Windows 10-UWP-App-Projekt
Schritt 1: Installieren des NuGet-Pakets
Installieren Sie das Microsoft.Toolkit.Uwp.Notifications NuGet-Paket. Unser Codebeispiel verwendet dieses Paket. Am Ende des Artikels stellen wir die "einfachen" Codeausschnitte bereit, die keine NuGet-Pakete verwenden. Mit diesem Paket können Sie Toast-Benachrichtigungen erstellen, ohne XML zu verwenden.
Schritt 2: Hinzufügen von Namespacedeklarationen
using Microsoft.Toolkit.Uwp.Notifications; // Notifications library
Schritt 3: Benachrichtigung planen
Wir verwenden eine einfache textbasierte Benachrichtigung, die einen Schüler an die hausaufgaben erinnert, die sie heute fällig haben. Erstellen Sie die Benachrichtigung, und planen Sie sie!
// Construct the content and schedule the toast!
new ToastContentBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!");
.Schedule(DateTime.Now.AddSeconds(5));
Bereitstellen eines Primärschlüssels für Ihren Toast
Wenn Sie die geplante Benachrichtigung programmgesteuert abbrechen, entfernen oder ersetzen möchten, müssen Sie die Tag-Eigenschaft (und optional die Group-Eigenschaft) verwenden, um einen Primärschlüssel für Ihre Benachrichtigung bereitzustellen. Anschließend können Sie diesen Primärschlüssel in Zukunft verwenden, um die Benachrichtigung abzubrechen, zu entfernen oder zu ersetzen.
Weitere Informationen zum Ersetzen/Entfernen bereits bereitgestellter Toast-Benachrichtigungen finden Sie in Schnellstart: Verwalten von Toast-Benachrichtigungen im Benachrichtigungscenter (XAML).
Tag und Gruppe fungieren kombiniert als zusammengesetzter Primärschlüssel. "Gruppe" ist der allgemeinere Bezeichner, bei dem Gruppen wie „wallPosts“, „messages“, „friendRequests“ usw. zugewiesen werden können. Anschließend sollte „Tag“ die Benachrichtigung selbst innerhalb der Gruppe eindeutig identifizieren. Mithilfe einer generischen Gruppe können Sie dann alle Benachrichtigungen aus dieser Gruppe mithilfe der RemoveGroup-APIentfernen.
// Construct the content and schedule the toast!
new ToastContentBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!");
.Schedule(DateTime.Now.AddSeconds(5), toast =>
{
toast.Tag = "18365";
toast.Group = "ASTR 170B1";
});
Geplante Benachrichtigungen abbrechen
Um eine geplante Benachrichtigung abzubrechen, müssen Sie zuerst die Liste aller geplanten Benachrichtigungen abrufen.
Suchen Sie dann Ihren geplanten Toast, der dem zuvor angegebenen Tag (und optional der Gruppe) entspricht, und rufen Sie RemoveFromSchedule() auf.
// Create the toast notifier
ToastNotifierCompat notifier = ToastNotificationManagerCompat.CreateToastNotifier();
// Get the list of scheduled toasts that haven't appeared yet
IReadOnlyList<ScheduledToastNotification> scheduledToasts = notifier.GetScheduledToastNotifications();
// Find our scheduled toast we want to cancel
var toRemove = scheduledToasts.FirstOrDefault(i => i.Tag == "18365" && i.Group == "ASTR 170B1");
if (toRemove != null)
{
// And remove it from the schedule
notifier.RemoveFromSchedule(toRemove);
}
Von Bedeutung
Eine entpackte Win32-App (keine Paketidentität zur Laufzeit) muss die ToastNotificationManagerCompat-Klasse verwenden, wie oben dargestellt. Wenn Sie den ToastNotificationManager selbst verwenden, erhalten Sie eine Element-nicht-gefunden-Ausnahme. Alle Arten von Apps können die Compat-Klasse verwenden und funktionieren ordnungsgemäß.
Aktivierungsverwaltung
Weitere Informationen zum Behandeln der Aktivierung finden Sie in der senden eines lokalen Toasts Dokumentation. Die Aktivierung einer geplanten Toast-Benachrichtigung wird genauso behandelt wie die Aktivierung einer lokalen Toast-Benachrichtigung.
Hinzufügen von Aktionen, Eingaben und mehr
Weitere Informationen zu erweiterten Themen wie Aktionen und Eingaben finden Sie im Senden eines lokalen Popups Dokumenten. Aktionen und Eingaben funktionieren in lokalen Popups genauso wie bei geplanten Popups.
Ressourcen
Windows developer