使用 PushNotificationTrigger() 的后台任务

Background Task using PushNotificationTrigger()

对于 TimerTigger() 后台任务工作正常。当我想调试时,我可以从生命周期事件中进行调试。但是当我使用 PushNotificationTrigger() 时,我无法调试后台任务。我没有得到我做错的地方,请帮忙。 This is what I get on Lifecycle Events while debugging. 这就是我为原始通知注册后台任务的方式,

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>

我已经检查了我们的代码和配置文件,看起来它们应该是正确的,为了让您的 Backgroundtask 的名称显示在您的生命周期事件中 windows 以便您进行调试,您需要单击 "Suspend" Lifecycle 事件中的事件 windows 在您注册了 Backgroundtask 之后。然后你的 Backgroundtask 的名称将显示在生命周期事件中 windows。

如果还是不行,请问您调试前是否正确注册了Backgroundtask,只有我们注册成功了,才能使用Lifecycle事件调试Backgroudtask。如果是这样,能否请您尝试在寄存器方法中放置一个断点,看看会发生什么?

更多信息,请查看以下两篇文章:

Debug a background task.

Background tasks triggered by raw notifications.