主应用程序如何从主应用程序启动时已经运行的后台任务获取进度通知?我已经注册了一个由 a 触发的后台任务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 不会更新......
有什么建议么 ?