主应用如何从主应用启动时已在运行的后台任务获取进度通知?我已经注册了一个使用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();
}
}
进度条中正确报告进度。在应用程序开始时,我重新附加"已完成"和"进度"事件
foreach (var i in BackgroundTaskRegistration.AllTasks)
{
i.Value.Completed += task_Completed;
i.Value.Progress += task_Progress;
}
但我想如果任务已经在运行,任务实例不会更新......
有什么建议吗?
查看后台任务示例。 它完全可以完成您尝试执行的操作,并且更新得很好。