こんにちは、ユニバーサルWindowsプラットフォームとそれに所属するAPIは初めてです。 私はJSでUWPアプリケーションを構築しようとしています。JavaScript、UWP:バックグラウンドタスクのキー押しイベントのトラッキング
質問1: バックグラウンドタスク(js内)を初期化して待機するにはどうすればよいですか。
質問2: 可能であれば、バックグラウンドタスクは特定の組み合わせのキー入力をどのようにリッスンしますか。
こんにちは、ユニバーサルWindowsプラットフォームとそれに所属するAPIは初めてです。 私はJSでUWPアプリケーションを構築しようとしています。JavaScript、UWP:バックグラウンドタスクのキー押しイベントのトラッキング
質問1: バックグラウンドタスク(js内)を初期化して待機するにはどうすればよいですか。
質問2: 可能であれば、バックグラウンドタスクは特定の組み合わせのキー入力をどのようにリッスンしますか。
Question 1: How would I initialize and listen for a background task (in js)?
Create a BackgroundTask Class
セクションのOfficial Documentを参照してください。第二に、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);
})
}
})();
Question 2: And how, if possible, would the background task listen for any keypress of a specific combination.
あなたはBackgroundTaskのためApplicationTriggerを設定し、中にすることができますクリックイベント関数ApplicationTrigger.requestAsync
:
document.getElementById("btnClick").onclick = function (evt)
{
appTrigger.requestAsync().then(function (result) {
var abc = result;
}, function (err) {
console.log(err);
})
}
})();
あなたの非常に役立つポストをありがとう! jsの初期化を実行すると、次のエラーが発生します。 '0x80040154 - JavaScriptランタイムエラー:クラスが登録されていません。 'というクラスが初期化されていないと思います。ランタイムコンポーネントをUWPプロジェクトにリンクすることについてもわかりません。だから私は参照下のコンポーネントをリンクしています(間違っているかどうかわかりません) - [ここ](https://github.com/jonhue/my_clipboard)あなたがソースを見つけることができます、必要ならば – jonhue
私はその問題を解決できました。 'onclick'イベントで' appTrigger'の代わりに何をする必要がありますか? – jonhue
'appTrigger'は私のコードで' var appTrigger = new Background.ApplicationTrigger(); 'で初期化した' ApplicationTrigger'です –