最初に、私は自分の研究をしたと言わせてください。私は約 1 日半、ビデオを見たり、MSDN を読んだり、テストしたり、実験したりしました。この問題はまだ解決していません。私のすべての調査にもかかわらず、これはかなり広範な質問になるので、申し訳ありません。これはおそらく、部分的には Windows Phone 8.1 の新機能によるものです。
私の目標はint、アプリが実行されていないときでも、1 時間に 1 回インクリメントすることです。明らかに、これを行う最善の方法は と を使用することTimeTriggerですBackgroundTask。ソリューションでWindows Runtime Component呼び出される別のプロジェクト ( ) を作成しました。BackgroundTaskProjectそのクラスの名前を に変更しましたBackgroundTaskClass。BackgroundTaskProjectメインプロジェクトから参照しました。
では、とその方法 BackgroundTaskClassを実装しました。質問 1: メイン プロジェクトで値をインクリメントするだけの場合、このメソッドで何かが行われますか? もしそうなら、何?IBackgroundTaskRun
RegisterBackgroundTaskメソッドを MSDN からにコピー アンド ペーストしましBackgroundTaskClassた。
私の主なプロジェクトでは、TimeTrigger. BackgroundTaskのstatic RegisterBackgroundTask方法で登録しましたBackgroundTaskClass。/メソッドにより、これBackgroundTaskが型の変数に割り当てられるように変更しました。Task<BackgroundTaskRegistration>awaitasync
究極の質問: myInt++1 時間に 1 回実行するようにするにはどうすればよいでしょうか? (myInt私のメインプロジェクトにあります。)
リクエストに応じて特定のコードを提供したり、質問に答えたりすることができますが、必要になる可能性があるものを次に示します。
メインプロジェクト/クラス:
TimeTrigger hourlyTrigger = new TimeTrigger(60, false);
Task<BackgroundTaskRegistration> task = BackgroundTaskProject.BackgroundTaskClass.RegisterBackgroundTask("BackgroundTaskProject.BackgroundTaskClass", "Number Incrementer", hourlyTrigger, null);
でBackgroundTaskClass:
Copy and pasted from MSDN (http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspx and http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj553413.aspx)