UWP TimeTrigger不会触发

时间:2017-03-20 07:18:46

标签: uwp background-task

我正在尝试使用TimeTrigger每15分钟运行一次后台任务但由于某种原因它不会触发。尝试了生命周期事件方法并且它起作用了。检查任务是否已在电源外壳中注册。还有什么可能是错的?我发现奇怪的一件事是当我跑步时

var allowed = await BackgroundExecutionManager.RequestAccessAsync();

我找回BackgroundAccessStatus.AllowedSubjectToSystemPolicy而不是

BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity 要么 BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity

这是问题吗?什么是BackgroundAccessStatus.AllowedSubjectToSystemPolicy?

更新:

不推荐使用AllowedMayUseActiveRealTimeConnectivity和AllowedWithAlwaysOnRealTimeConnectivity。

重新启动使其工作,包括桌面和移动设备。显然,后台任务流程很容易崩溃。

还可以使用它在桌面上进行调试:

https://docs.microsoft.com/en-us/windows/uwp/launch-resume/debug-a-background-task

1 个答案:

答案 0 :(得分:0)

嗨,如果你得到允许所以它应该可以正常工作,但请仔细检查我在下面提到的一些要点: 1 - 确保您的后台任务项目是Windows运行时组件项目,而不是类库或其他项目。

2 - 确保您的后台任务项目现在是您要调用它的项目中的参考。

3 - 确保您定义了后台任务,它的入口点以及它在AppxManifest中的类型

4 - 如果我提到的所有内容都没问题,那么在C#代码中以这种方式调用后台任务入口点,有时它会解决您的问题。

BackgroundTaskBuilder build = new BackgroundTaskBuilder();
build.TaskEntryPoint = typeof(BGTaskRTComponentProj.BGTaskClass).FullName;