在我的应用程序通知被关闭时,我需要采取某些措施。
我正在使用ToastNotificationHistory周围的内容来检索通知并对其作出反应。
在文档之后,我正在注册一个后台任务以进行更新:
WAR
更新将通过var builder = new BackgroundTaskBuilder();
builder.Name = "ToastHistoryChangedBackgroundTask";
builder.SetTrigger(new ToastNotificationHistoryChangedTrigger());
builder.Register();
以及OnBackgroundActivated()
中的一些参数(例如,关闭原因)进行。但是,这实际上并不能告诉您哪些通知已更新。我使用ToastNotificationHistoryChangedTriggerDetail
手动跟踪当前状态;关于更新,我可以检查差异和删除通知的原因。
这可以正常工作,但是当应用未运行时,我会错过删除操作。即使关闭了应用程序,后台任务也会触发,因此我确实得到了更新,但是此时ToastNotificationManager.History.GetHistory()
中的通知已经消失了。如果说所有内容都已清除,OnBackgroundActivated()
将报告0条通知,但我没有以前的状态可比较。
我也使用UserNotificationChangedTrigger尝试了类似的模式;虽然比较通用(侦听所有通知,而不仅仅是应用程序的通知),但是在通知不再显示在查询中之后,它也会遇到获取更新的相同问题。另请注意,文档如何采用相同的同步机制来推断增量。
是否可以检索通知更新的实际内容,或者是否有其他机制可以解决此问题?