我怎样才能看到我的基于javascript的UWP是否在“后台任务”中运行?上下文
How can I see if my JavaScript-based UWP is running in a "background task" context?
UWP支持"后台任务",它在后台运行,例如响应一些系统事件或实现一个App Service。
基于javascript的UWP应用程序在各自的应用程序清单文件(.appxmanifest
)中声明后台任务。
检测我的代码是否作为后台任务运行的最佳实践是什么?
我假设如果你问这个问题,你已经建立,注册,并执行了一个后台任务,这只能从UI线程使用ApplicationTrigger (https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.background.applicationtrigger)来完成。如果你还没有,那么你的应用可能处于预发布阶段(https://learn.microsoft.com/en-us/windows/uwp/launch-resume/handle-app-prelaunch)。否则,你应该能够在调用requestAsync()之前和之后以编程方式处理报告,或者通过在后台任务中通过windows . ui . webui . webbuibackgroundtaskinstance . progress
根据指南,首先你需要创建一个后台任务类,并注册它,当你的应用程序不在前台时运行。
后台任务与应用程序解耦,它们分别运行,但后台任务的进度和完成可以由应用程序代码监控。为了实现这一点,应用程序订阅了它在系统中注册的后台任务的事件。你可以使用BackgroundTaskProgressEventHandler
var backgroundTaskProgressEventHandler = function(sender, args) {
/* Your code */
}
UWP "后台任务"是作为修改后的web worker实现的。检测web worker上下文包含在其他SO问题(1,2)中。一个解决方案如下:
function inBackgroundTaskContext() {
return typeof importScripts === 'function'
}
importScripts
是一个可以在web worker上下文中调用的函数。
- WinJS(WP8.1):从后台任务更新辅助磁贴
- 在Meteor.js中运行后台任务
- Meteor中的后台任务
- chrome延长时间,后台任务
- Node.js真的异步完成后台I/O任务吗
- 无法在JavaScript Windows应用程序中注册到后台任务
- 尝试使用Redis和后台任务更好地理解NodeJS
- 后台任务和正在运行的应用程序检测
- 是否可以通过AJAX调用执行后台PHP服务器任务,该任务不会锁定您的网站
- AngularJS后台任务指令更新控制器
- 微任务是否保证在它们排队的同一动画帧内触发?
- 检查任务是否已完成
- JavaScript中不干扰UI交互的后台任务
- React-Native:使用推送通知来唤醒后台任务
- Javascript: setInterval用于后台任务的理想块大小
- Chrome扩展:检查后台脚本是否正在运行
- 如何在应用程序挂起后立即触发Windows 8的后台任务
- 在Angular中打开和关闭后台任务
- 如何在Windows 8 JS Metro应用程序的后台任务中使用时间触发器
- 我怎样才能看到我的基于javascript的UWP是否在“后台任务”中运行?上下文