在UWP中无限期运行后台任务

在UWP中无限期运行后台任务,uwp,windows-10,background-task,indefinite,Uwp,Windows 10,Background Task,Indefinite,我有一个要求,不断轮询一个API,并在UWP应用程序中提供通知,无论它是否对用户可见或最小化,或是否处于焦点或暂停状态 如果我选择将其写入应用程序本身,它会在应用程序挂起时停止工作,并在应用程序再次打开或保持焦点时恢复工作。 所以我选择了后台任务,这样即使应用程序被挂起,它也会在每次运行 但现在任何后台任务都被限制在30秒的短时间内,如果使用应用程序触发器触发,则最长持续10分钟 我尝试在10分钟后重新触发后台任务,但在重新触发阶段,如果应用程序最小化或设备锁定,则不会发生。重新触发只有在我恢复

我有一个要求,不断轮询一个API,并在UWP应用程序中提供通知,无论它是否对用户可见或最小化,或是否处于焦点或暂停状态

如果我选择将其写入应用程序本身,它会在应用程序挂起时停止工作,并在应用程序再次打开或保持焦点时恢复工作。 所以我选择了后台任务,这样即使应用程序被挂起,它也会在每次运行

但现在任何后台任务都被限制在30秒的短时间内,如果使用应用程序触发器触发,则最长持续10分钟

我尝试在10分钟后重新触发后台任务,但在重新触发阶段,如果应用程序最小化或设备锁定,则不会发生。重新触发只有在我恢复应用程序后才会发生,通过该应用程序我将失去不确定行为

我还尝试添加限制功能以无限期运行任务,但商店应用程序不允许这样做,只允许侧面加载。 但我的要求是支持商店应用程序


请帮助我如何使用后台任务或UWP平台中可用的任何其他模型实现此行为。

要在延长/不确定的时间段内运行后台任务,您需要在应用程序清单中声明extendedBackgroundTaskTime功能


.. 请添加有关如何注册/取消注册后台任务的相关代码。另外,请完成。我正在使用进程内后台任务。您提供的ref不在proc后台任务中。但是不同的是,这些只是过程方面的问题,但是后台任务的行为方式是相同的,并且表现出相似的特性。如果我错了,请纠正我。如何在这里添加附件以提交代码?我已经删除了我的否决票,因为这似乎是一个有效的问题。对于添加代码,您只需编辑问题并粘贴到那里,然后使用文本工具箱中的代码格式化程序对其进行格式化。您还需要多久调用一次API?如果每隔10-15分钟左右,我建议进行进程外执行,因为商店应用程序在挂起时会有一些限制。根据我们的要求,它应该是10秒-1分钟范围内的任何值。进程外后台任务是否会无限期运行,应用程序触发器而不是10分钟限制?你能详细说明一下商店应用程序在暂停时的限制吗?是的,我试过了,效果很好。但这是一个受限制的功能,商店提交场景不允许使用,但我需要商店应用程序使用它。参考:让我知道这个问题的任何其他可能的解决方案。它受到设计的限制。商店应用程序不应该无限制地使用系统的CPU/电池资源。您的方案是什么?我们要求根据应用程序中配置的轮询速率10秒-1分钟持续监控打印机,并提供配置事件的通知,例如:纸张清空、作业完成。因此,即使应用程序最小化,我们也需要支持查询web服务API的轮询,因此我选择了后台任务路径,该路径设计为即使最小化也可以运行,但现在我带着时间限制降落在一台交流电源的PC上,您应该看到,只有当应用程序得到更新服务时,EE才会被撤销。在使用电池运行的笔记本电脑/平板电脑上,EE会话将在10分钟后被撤销。但是,您可以通过在“电池节省器设置”中将应用程序设置为始终允许在后台使用来防止出现这种情况。