Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du har skickat ett appmeddelande kan du behöva ta bort det från Meddelandecenter när det inte längre är relevant eller styra hur länge det bevaras. Klassen AppNotificationManager innehåller metoder för att ta bort meddelanden, och klassen AppNotification innehåller egenskaper för att styra när meddelanden upphör att gälla automatiskt.
Mer information om appaviseringar finns i Översikt över appaviseringar.
Ta bort meddelanden från Notification Center
Om du vill ta bort specifika meddelanden tilldelar du först tag- och gruppvärden när du visar dem. En tagg identifierar ett specifikt meddelande och en grupp identifierar en uppsättning relaterade meddelanden. En meddelandeapp kan till exempel använda chatttråds-ID:t som Grupp och kontaktnamnet som tagg.
AppNotificationManager innehåller flera metoder för att ta bort meddelanden från Notification Center:
| Metod | Beskrivning |
|---|---|
| RemoveByTagAsync | Tar bort alla meddelanden med den angivna taggen. |
| RemoveByGroupAsync | Tar bort alla meddelanden i den angivna gruppen. |
| RemoveByTagAndGroupAsync | Tar bort alla meddelanden med den angivna taggen och gruppen. |
| RemoveByIdAsync | Tar bort meddelandet med det angivna ID:t. |
| RemoveAllAsync | Tar bort alla meddelanden för appen. |
I följande exempel visas hur du taggar meddelanden när du skickar dem och sedan tar bort dem senare. I det här scenariot tar en meddelandeapp bort alla meddelanden från en gruppchatt när användaren har läst konversationen och tar sedan bort alla meddelanden från en specifik kontakt när användaren har stängt av dem.
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();
}
Ange en förfallotid
Ange en förfallotid för meddelandet med hjälp av egenskapen Expiration om innehållet bara är relevant under en viss tidsperiod. En kalenderapp som skickar en händelsepåminnelse bör till exempel ange förfallodatumet till slutet av händelsen.
Anmärkning
Standard och maximal förfallotid för ett meddelande är 3 dagar.
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);
Aviseringar upphör att gälla vid omstart
Ange egenskapen ExpiresOnReboot till true om du vill att ett meddelande ska tas bort från Notification Center när datorn startas om. Detta är användbart för tidskänsliga meddelanden som inte längre är meningsfulla efter en omstart, till exempel ett pågående anrop eller en tillfällig påminnelse.
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);
Se även
Windows developer