首页 文章

UWP TimeTrigger不会开火

提问于
浏览
1

我试图使用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

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

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

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

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

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

相关问题