2016-12-02 8 views
3

tl; dr:アプリを実行しなくてもバックグラウンドタスクを登録するにはどうすればよいですか?アプリを実行しないでバックグラウンドタスクを登録する

ロングバージョン

に私はSystemTriggerType.UserPresentを使用して、ユーザがログインするたびに実行するバックグラウンドタスクを登録したいです。

タスクの登録に関する情報が見つかりましたが、これは実行する必要があるコードです。タスクが実行されなければならない場合は、のアプリケーションが実行された後であれば問題ありません。しかし、のアプリを実行するを登録せずに登録するにはどうすればよいですか? ここに述べたように、バックグラウンドタスクが

var builder = new BackgroundTaskBuilder(); 

、その後

builder.Name = taskName; 
builder.TaskEntryPoint = taskEntryPoint; 
builder.SetTrigger(trigger); 
BackgroundTaskRegistration task = builder.Register(); 

によって登録することができます: Register a background task

私が言ったように - 私の質問は、アプリケーションが実行される前にこのコードを実行する方法です。

答えて

6

マニフェストにpreInstalledConfigTask拡張子を使用できます。このタスクは、アプリケーションのインストール後に開始されます。

がインストールされた直後にアプリケーションを更新する必要が生じることがあります。この契約により、 の更新タスクがユーザーの介入なしにすぐに開始され、アプリケーション がすぐに更新されるようになります。

Hereは、利用可能なすべての拡張機能の完全なリストです。あなたは、私が同じ質問を最近持っていたmanifest schema

+0

ありがとうございました。 +1。私がそれを確認するまで私はまだ受け入れていませんが。現時点では、タスク(PreInstalledではなくUserPresent)が登録されているように見えますが、ログオフしても再び呼び出されることはありません。 (そして私はそれが画面をロックするだけでも呼び出されるはずだと思います。) – ispiro

0

での拡張定義を見つけるだろうし、何が欠けている

preinstall task in editor

<Extensions> 
    <Extension Category="windows.preInstalledConfigTask" EntryPoint="PreInstallTask.Task" /> 
    </Extensions> 

preInstalledConfigtaskは、マニフェストエディタを使用して設定することができます以前の回答では、プリインストールされた構成は、OEMの場合のみ& MOのトリガーとなります。 See here

あなたがOSを管理しておらず、デベロッパーセンターに必要な権利を持つ画像を出荷しない限り、タスクは決して誘発しないので、あなたが望むことはできないかもしれません。 See here.

関連する問題