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.
Nachdem Sie eine App-Benachrichtigung gesendet haben, müssen Sie sie möglicherweise aus dem Benachrichtigungscenter entfernen, wenn sie nicht mehr relevant ist, oder steuern, wie lange sie beibehalten wird. Die AppNotificationManager-Klasse stellt Methoden zum Entfernen von Benachrichtigungen bereit, und die AppNotification-Klasse stellt Eigenschaften zum Steuern bereit, wann Benachrichtigungen automatisch ablaufen.
Weitere Informationen zu App-Benachrichtigungen finden Sie in der Übersicht über App-Benachrichtigungen.
Entfernen von Benachrichtigungen aus dem Benachrichtigungscenter
Um bestimmte Benachrichtigungen zu entfernen, weisen Sie beim Anzeigen zuerst Tag - und Gruppenwerte zu. Ein Tag identifiziert eine bestimmte Benachrichtigung, und eine Gruppe identifiziert eine Reihe verwandter Benachrichtigungen. Beispielsweise könnte eine Messaging-App die Chatthread-ID als Gruppe und den Kontaktnamen als Tag verwenden.
AppNotificationManager bietet mehrere Methoden zum Entfernen von Benachrichtigungen aus dem Notification Center:
| Methode | Beschreibung |
|---|---|
| RemoveByTagAsync | Entfernt alle Benachrichtigungen mit dem angegebenen Tag. |
| RemoveByGroupAsync | Entfernt alle Benachrichtigungen in der angegebenen Gruppe. |
| RemoveByTagAndGroupAsync | Entfernt alle Benachrichtigungen mit dem angegebenen Tag und der angegebenen Gruppe. |
| RemoveByIdAsync | Entfernt die Benachrichtigung mit der angegebenen ID. |
| RemoveAllAsync | Entfernt alle Benachrichtigungen für die App. |
Das folgende Beispiel zeigt, wie Benachrichtigungen beim Senden kategorisiert und später entfernt werden. In diesem Szenario entfernt eine Messaging-App alle Benachrichtigungen aus einem Gruppenchat, nachdem der Benutzer die Unterhaltung gelesen hat, und entfernt dann alle Benachrichtigungen von einem bestimmten Kontakt, nachdem der Benutzer sie stummgeschaltet hat.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
void SendNotification(string message, string contactTag, string chatGroup)
{
var notification = new AppNotificationBuilder()
.AddText(message)
.BuildNotification();
// Tag and group the notification so it can be removed later
notification.Tag = contactTag;
notification.Group = chatGroup;
AppNotificationManager.Default.Show(notification);
}
// Remove all notifications from a specific group chat
async Task RemoveGroupChatNotifications(string chatGroup)
{
await AppNotificationManager.Default.RemoveByGroupAsync(chatGroup);
}
// Remove all notifications from a specific contact across all groups
async Task RemoveContactNotifications(string contactTag)
{
await AppNotificationManager.Default.RemoveByTagAsync(contactTag);
}
// Remove all notifications for the app
async Task RemoveAllNotifications()
{
await AppNotificationManager.Default.RemoveAllAsync();
}
Festlegen einer Ablaufzeit
Legen Sie eine Ablaufzeit für Ihre Benachrichtigung mithilfe der Expiration-Eigenschaft fest, wenn der Inhalt nur für einen bestimmten Zeitraum relevant ist. Beispielsweise sollte eine Kalender-App, die eine Ereigniserinnerung sendet, die Ablaufzeit auf das Ende des Ereignisses festlegen.
Hinweis
Die Standard- und maximale Ablaufzeit für eine Benachrichtigung beträgt 3 Tage.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
var notification = new AppNotificationBuilder()
.AddText("Team standup in 15 minutes")
.AddText("Conference Room B")
.BuildNotification();
// Remove the notification from Notification Center after one hour
notification.Expiration = DateTimeOffset.Now.AddHours(1);
AppNotificationManager.Default.Show(notification);
Ablaufende Benachrichtigungen beim Neustart
Legen Sie die ExpiresOnReboot-Eigenschaft auf true fest, wenn beim Neustart des Computers eine Benachrichtigung aus dem Notification Center entfernt werden soll. Dies ist nützlich für zeitabhängige Benachrichtigungen, die nach einem Neustart nicht mehr aussagekräftig sind, z. B. einen laufenden Anruf oder eine temporäre Erinnerung.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
var notification = new AppNotificationBuilder()
.AddText("You're sharing your screen")
.BuildNotification();
notification.ExpiresOnReboot = true;
AppNotificationManager.Default.Show(notification);
Siehe auch
Windows developer