Freigeben über


Entfernen von App-Benachrichtigungen

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