1

我需要迭代 WinRT 类型的对象以取消注册我已成功注册的 UWP 后台任务。

我可以在 javascript 中访问此对象 BackgroundTaskRegistration.AllTask​​s,但我收到了一个 IMapView<Guid, BackgroundTask> 类型的 WinRT 集合,我无法对其进行迭代或访问。

注意:该解决方案是使用 Cordova 设置的,但我从 VS2017 手动连接了 WinRT。

任何想法表示赞赏!

4

1 回答 1

0

我试图做同样的事情并找到了解决方案。这是示例。

        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();
          }
        }

希望这应该有效。

于 2021-03-29T00:59:46.980 回答