这是后台任务代码,我使用 REST 客户端发送原始通知:
public sealed class Class2:IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
var def = taskInstance.GetDeferral();
RawNotification notification = (RawNotification)taskInstance.TriggerDetails;
string content = notification.Content;
ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
XmlNodeList textElements = toastXml.GetElementsByTagName("text");
textElements[0].AppendChild(toastXml.CreateTextNode("You have pending items to sync"));
textElements[1].AppendChild(toastXml.CreateTextNode("Please open the app to sync"));
ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(toastXml));
def.Complete();
// ...
// Insert code to start one or more asynchronous methods using the "await" keyword.
// var result = await ExampleMethodAsync();
// ...
// _deferral.Complete();
}
}
使用 REST 客户端发送数据,如下图所示:
当我发送这个原始通知时,应用程序崩溃了。但是在发送 toast 通知的情况下,应用程序正在显示通知,并且在应用程序关闭时不会触发后台任务。
任何人都可以向我解释为什么应用程序崩溃并且后台任务没有触发吗?