对于TimerTigger()后台任务工作正常。当我想调试时,我可以从Lifecycle Events中完成。但是当我使用PushNotificationTrigger()时,我无法调试后台任务。我没有得到我做错的地方,请帮忙。 This is what I get on Lifecycle Events while debugging. 这就是我为Raw Notifications注册后台任务的方法,
if (!Windows.ApplicationModel.Background.BackgroundTaskRegistration.AllTasks.Any(i => i.Value.Name == "PushBackgroundTask"))
{
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = "PushBackgroundTask";
builder.TaskEntryPoint = typeof(NotificationActionBackgroundTask.NotificationActionBG).FullName;
builder.SetTrigger(new Windows.ApplicationModel.Background.PushNotificationTrigger());
BackgroundTaskRegistration task = builder.Register();
}
这是我应用的Package.appxmanifest代码,
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="NotificationActionBackgroundTask.NotificationActionBG">
<BackgroundTasks>
<Task Type="pushNotification" />
</BackgroundTasks>
</Extension>
</Extensions>
答案 0 :(得分:1)
我已经检查了我们的代码和配置文件,看起来它们应该是正确的,为了让您的Lifetask的名称显示在您的Lifecycle事件窗口中以供调试,您需要点击& #34;在注册Backgroundtask后,在Lifecycle事件窗口中暂停&#34; 事件。然后,您的Backgroundtask的名称将显示在Lifecycle事件窗口中。
如果它仍然不起作用,我想知道你是否在进行调试之前正确注册了Backgroundtask,只有在我们成功注册了Backgroundtask之后,我们才能使用Lifecycle事件调试Backgroudtask。如果是这样,你能不能试着在寄存器方法中放一个断点来看看会发生什么?
有关详细信息,请查看以下两篇文章: