我需要迭代 WinRT 类型的对象以取消注册我已成功注册的 UWP 后台任务。
我可以在 javascript 中访问此对象 BackgroundTaskRegistration.AllTasks,但我收到了一个 IMapView<Guid, BackgroundTask> 类型的 WinRT 集合,我无法对其进行迭代或访问。
注意:该解决方案是使用 Cordova 设置的,但我从 VS2017 手动连接了 WinRT。
任何想法表示赞赏!
我需要迭代 WinRT 类型的对象以取消注册我已成功注册的 UWP 后台任务。
我可以在 javascript 中访问此对象 BackgroundTaskRegistration.AllTasks,但我收到了一个 IMapView<Guid, BackgroundTask> 类型的 WinRT 集合,我无法对其进行迭代或访问。
注意:该解决方案是使用 Cordova 设置的,但我从 VS2017 手动连接了 WinRT。
任何想法表示赞赏!
我试图做同样的事情并找到了解决方案。这是示例。
const background = Windows.ApplicationModel.Background;
const allTasks = background.BackgroundTaskRegistration.allTasks;
if (allTasks.size > 0) {
let item = allTasks.first();
// item.hasCurrent should be false if the item is empty.
while (item.hasCurrent) {
const current = item.current;
const task = current.value;
// Do something with current task like
if (task.name === 'name') {
}
// move to next
item.moveNext();
}
}
希望这应该有效。