2017-06-14 1 views
1

J'ai une application de bureau fonctionnant sous Windows 10 qui crée ToastNotifications qui sont également stockées dans le Centre de maintenance. J'ai remarqué que lorsque je redémarre l'ordinateur, les notifications sont toujours présentes dans le Centre de maintenance. Je voulais donc les supprimer via mon application quand elles ne sont plus nécessaires. Je voulais utiliser la méthode ToastNotificationHistoryRemove pour cela.
Mon code ressemble à ceci:Supprimer ToastNotification d'ActionCenter

public static void RemoveNotificationByTag(string toastTag) 
{ 
    ToastNotificationManager.History.Remove(toastTag, "TEST"); 
} 

Mais cela conduit à cette exception: System.Exception: 'Element not found. (Exception from HRESULT: 0x80070490)'

La notification que j'ai envoyais a priorly une Tag et une valeur Group.

Je reçois la même exception lors de l'appel de la méthode RemoveGroup ou GetHistory. Fondamentalement, il semble que je ne peux pas appeler n'importe quelle méthode de la classe History sans obtenir la même exception

+1

juste une suggestion. Essayez d'imprimer tous les éléments dans "ToastNotificationManager.History" et vérifiez s'il contient le toast dont vous avez besoin. –

+0

Pourquoi ne pas simplement appeler 'Effacer()'? _ "Supprime toutes les notifications envoyées par cette application du centre d'action." _ – stuartd

+0

J'ai essayé d'examiner l'objet History dans le débogueur mais cela montre juste: Pour inspecter l'objet natif, activer le débogage du code natif. Dès que je l'ai activé, l'opération n'est pas supportée. L'appel de la méthode Clear conduit à la même exception – sevi

Répondre

2

Sous Windows 10, il est nécessaire de fournir le paramètre applicationId à chacune des méthodes.

appel de la méthode comme cela fonctionne:

ToastNotificationManager.History.Remove(toastTag, "TEST", appId);