嗨,我是Universal Windows Platform和所属API的新手。
我正在尝试在JS中构建UWP应用程序。
问题1:
我将如何初始化和侦听后台任务(在js中)?
问题2:
以及在可能的情况下,后台任务如何监听特定组合的任何按键。
最佳答案
问题1:如何初始化和侦听后台任务(在js中)?
首先,您需要创建一个运行时组件并创建一个实现Windows.ApplicationModel.Background.IBackgroundTask的BackgroundTask类。有关详细信息,请参见Official Document的Create a BackgroundTask Class
部分。
其次,在package.appxmanifest
中注册backgroundTask:
第三,在js代码中注册backgroundTask:
(function () {
"use strict"
//Initialization
var Background = Windows.ApplicationModel.Background;
//Register
var taskBuilder = new Background.BackgroundTaskBuilder();
taskBuilder.name = "MyBackgroundTask";
//init trigger
var appTrigger = new Background.ApplicationTrigger();
taskBuilder.taskEntryPoint = "MyRuntimeComponent.MyBackgroundTask";
taskBuilder.setTrigger(appTrigger);
//Check if background task already registered
var taskRegistered = false;
var iter = Background.BackgroundTaskRegistration.allTasks.first();
var hascur=iter.hasCurrent;
while (hascur)
{
var current = iter.current.value;
if (current.name == "MyBackgroundTask")
{
taskRegistered = true;
break;
}
iter.moveNext();
}
if (!taskRegistered)
{
taskBuilder.register();
}
//click event
document.getElementById("btnClick").onclick = function (evt)
{
appTrigger.requestAsync().then(function (result) {
var abc = result;
}, function (err) {
console.log(err);
})
}
})();
问题2:后台任务如何侦听特定组合的任何按键。
您可以为您的后台任务设置ApplicationTrigger,并在点击事件功能中调用
ApplicationTrigger.requestAsync
:document.getElementById("btnClick").onclick = function (evt)
{
appTrigger.requestAsync().then(function (result) {
var abc = result;
}, function (err) {
console.log(err);
})
}
})();
关于javascript - JavaScript,UWP:Backgroundtask跟踪按键事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42355186/