Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查看我的基于JavaScript的UWP是否运行在;背景任务“;上下文_Javascript_Uwp_Windows 10 Universal_Background Task - Fatal编程技术网

如何查看我的基于JavaScript的UWP是否运行在;背景任务“;上下文

如何查看我的基于JavaScript的UWP是否运行在;背景任务“;上下文,javascript,uwp,windows-10-universal,background-task,Javascript,Uwp,Windows 10 Universal,Background Task,UWP支持在后台运行,例如或 基于JavaScript的UWP应用程序在各自的应用程序清单文件(.appxmanifest)中声明 检测我的代码是否作为后台任务运行的最佳实践是什么?根据指导,首先需要创建一个后台任务类,并将其注册为在应用程序不在前台时运行 后台任务与应用程序分离,它们单独运行,但后台任务的进度和完成情况可以由应用程序代码监控。为了实现这一点,应用程序订阅了它在系统中注册的后台任务中的事件。 您可以使用BackgroundTaskProgressEventHandler var

UWP支持在后台运行,例如或

基于JavaScript的UWP应用程序在各自的应用程序清单文件(
.appxmanifest
)中声明


检测我的代码是否作为后台任务运行的最佳实践是什么?

根据指导,首先需要创建一个后台任务类,并将其注册为在应用程序不在前台时运行

后台任务与应用程序分离,它们单独运行,但后台任务的进度和完成情况可以由应用程序代码监控。为了实现这一点,应用程序订阅了它在系统中注册的后台任务中的事件。 您可以使用BackgroundTaskProgressEventHandler

var backgroundTaskProgressEventHandler = function(sender, args) {
 /* Your code */
}
检测web工作者上下文将在其他一些SO问题(,)中介绍。一种解决方案如下:

function inBackgroundTaskContext() {
    return typeof importScripts === 'function'
}

是一个可从web worker上下文中调用的函数。当应用程序在“正常”应用程序上下文中运行时,它没有定义。

我假设如果你问这个问题,你已经构建、注册并执行了后台任务,这只能通过UI线程使用ApplicationRigger()完成。如果没有,则您的应用程序可能处于预启动状态()。否则,您应该能够在调用requestAsync()之前和之后以编程方式处理报告,或者通过Windows.UI.WebUI.WebUIBackgroundTaskInstance.progress在后台任务中报告来跟踪后台任务的进度,这是不准确的;后台任务和应用程序都可以运行相同的代码,甚至可以从相同的入口点运行。它们不必彼此分离。这假设我控制调用代码,而在Cortana插件开发的情况下,我不控制调用代码。后台任务是web workers,因此您还可以检查(self.importScripts)===未定义,因为该函数仅在web workers中可访问。