我试图使用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 回答
嗨,如果你得到允许所以它应该工作正常,但仔细检查我在下面提到的一些点:1 - 确保你的后台任务项目是Windows运行时组件项目而不是类库或其他 .
2 - 确保您的后台任务项目现在是您要调用它的项目中的参考 .
3 - 确保定义后台任务,它的入口点和它在AppxManifest中的类型
4 - 如果我提到的所有内容都没问题,那么在C#代码中以这种方式调用Background任务入口点,有时它会解决您的问题 .