主应用程序如何从主应用程序启动时已经运行的后台任务获取进度通知?
我已经注册了一个由SystemTriggerType.TimeZoneChange
触发的后台任务(为简单起见)。这是代码:
public sealed class Class1:IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
var defferal = taskInstance.GetDeferral();
await Task.Delay(3000);
for (uint i = 1; i < 100; i++)
{
await Task.Delay(1000);
taskInstance.Progress = i;
}
defferal.Complete();
}
}
在进度条中正确报告进度。 在应用程序开始时,我重新执行Completed和Progress事件
foreach (var i in BackgroundTaskRegistration.AllTasks)
{
i.Value.Completed += task_Completed;
i.Value.Progress += task_Progress;
}
但我想如果任务已在运行,则不会更新taskInstance ...
有什么建议吗?