App-meldingen verwijderen

Nadat u een app-melding hebt verzonden, moet u deze mogelijk verwijderen uit het Meldingencentrum wanneer deze niet meer relevant is of bepaalt hoe lang deze blijft bestaan. De klasse AppNotificationManager biedt methoden voor het verwijderen van meldingen, en de klasse AppNotification biedt eigenschappen voor het bepalen wanneer meldingen automatisch verlopen.

Zie het overzicht van app-meldingen voor meer informatie over app-meldingen.

Meldingen verwijderen uit meldingencentrum

Als u specifieke meldingen wilt verwijderen, wijst u eerst tag - en groepswaarden toe wanneer u deze weergeeft. Een tag identificeert een specifieke melding en een groep identificeert een set gerelateerde meldingen. Een berichten-app kan bijvoorbeeld de chatthread-id gebruiken als de groep en de naam van de contactpersoon als de tag.

AppNotificationManager biedt verschillende methoden voor het verwijderen van meldingen uit het Meldingencentrum:

Methode Beschrijving
RemoveByTagAsync Hiermee verwijdert u alle meldingen met de opgegeven tag.
RemoveByGroupAsync Hiermee verwijdert u alle meldingen in de opgegeven groep.
RemoveByTagAndGroupAsync Hiermee verwijdert u alle meldingen met de opgegeven tag en groep.
RemoveByIdAsync Hiermee verwijdert u de melding met de opgegeven id.
RemoveAllAsync Hiermee verwijdert u alle meldingen voor de app.

In het volgende voorbeeld ziet u hoe u meldingen tagt wanneer u ze verzendt en deze later verwijdert. In dit scenario verwijdert een berichten-app alle meldingen uit een groepschat nadat de gebruiker het gesprek heeft gelezen en vervolgens alle meldingen van een specifieke contactpersoon verwijdert nadat de gebruiker deze heeft gedempt.

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

Een verlooptijd instellen

Stel een verlooptijd in voor uw melding met behulp van de eigenschap Verlooptijd als de inhoud alleen relevant is voor een bepaalde periode. Een agenda-app die een gebeurtenisherinnering verzendt, moet bijvoorbeeld de vervaldatum instellen op het einde van de gebeurtenis.

Opmerking

De standaard- en maximale verlooptijd voor een melding is 3 dagen.

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

Meldingen laten verlopen bij opnieuw opstarten

Stel de eigenschap ExpiresOnReboot in op true als u een melding wilt verwijderen uit het Meldingencentrum wanneer de computer opnieuw wordt opgestart. Dit is handig voor tijdgevoelige meldingen die niet meer zinvol zijn na het opnieuw opstarten, zoals een gesprek dat wordt uitgevoerd of een tijdelijke herinnering.

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

Zie ook