【问题标题】:UWP: error while requesting start of a background taskUWP:请求启动后台任务时出错
【发布时间】:2023-11-06 13:52:01
【问题描述】:

我的 UWP app 有一个问题,它的后台任务以 ApplicationTrigger 开始。
偶尔,ApplicationTrigger 实例上的 RequestAsync() 调用会返回 ApplicationTriggerResult.UnknownError 结果,而后台任务永远不会再跑。重新启动或重新启动设备是没有用的。必须重新安装应用程序才能解决问题。你们中有人知道获得UnknownError 的原因是什么吗?非常感谢任何帮助。

【问题讨论】:

  • 改进的代码标记

标签: c# win-universal-app background-task


【解决方案1】:

后台任务由系统或时间事件触发,可受一个或多个条件约束。当触发后台任务时,其关联的处理程序将运行并执行后台任务的工作。即使注册后台任务的应用被挂起,后台任务也可以运行。

您可以在 Github 上参考 Microsoft 的这个 Demo: Background task sample

foreach (var task in BackgroundTaskRegistration.AllTasks)
        {
            if (task.Value.Name == BackgroundTaskSample.ApplicationTriggerTaskName)
            {
                AttachProgressAndCompletedHandlers(task.Value);
                BackgroundTaskSample.UpdateBackgroundTaskStatus(BackgroundTaskSample.ApplicationTriggerTaskName, true);
                break;
            }
        }

        trigger = new ApplicationTrigger();

【讨论】:

  • 这个答案是来自 Github 描述的精确复制粘贴。请在回答问题时付出更多努力。
  • 更新源代码
  • 感谢您的反馈@Cheah,但您没有回答我的问题。我的观点是当ApplicationTrigger.RequestAsync()返回ApplicationTriggerResult.UnknownError时如何诊断问题