你好开发者,
很长一段时间以来,我正在与 UWP 中有关 in-process 后台任务的问题作斗争 .
我正在使用 time trigger 和 no conditions . 我尝试了不同的时间 Span (15,30,60) . 在UI线程中请求访问,如下所示:
BackgroundExecutionManager.RemoveAccess();
// Überprüfen, ob Backgroundtasks erlaubt sind.
var accessLevel = await BackgroundExecutionManager.RequestAccessAsync();
if (accessLevel == BackgroundAccessStatus.DeniedBySystemPolicy ||
accessLevel == BackgroundAccessStatus.DeniedByUser)
{
....
}
当应用程序进入后台时,该任务被注册(这是在用户不使用应用程序时必须进行的数据更新 - 否则将使用sqlite数据库进行锁定) . 一旦应用程序离开后台,该任务就会被取消注册并取消 .
我知道我可能在注册后台任务时做错了,或者执行的代码是错误的 .
But:
整个构造在Windows 10桌面设备上完美运行 . 如果我通过VS2017中的应用程序生命周期运行后台任务(使用不同的设备,至少运行周年纪念更新),它甚至可以在移动设备上运行 .
有时候后台任务开始了(我有日志文件),但只执行了大约10%的代码 .
我希望你们中有人对我有所了解 .
最好的祝福
卡米