3

Windows Phone プラットフォームは、BackgroundTasks インフラストラクチャを提供します。次のようにタスクを登録できます。

builder.TaskEntryPoint = TaskName;
var trigger = new TimeTrigger(15, false);

builder.SetTrigger(trigger);
builder.Register();

問題は、TimeTrigger の最小間隔が ~15 分であり、これは私のアプリケーションにとってかなり大きいことです。バックグラウンドで1〜2分ごとに実行されるタスクが必要です。Windows Phone では可能ですか?

4

2 に答える 2

3

1 分間隔で実行される BackgroundTasks を持つことはできません。すでに述べたように、最小間隔は 15 分です。

これは、開発者がバッテリーを消耗するアプリケーションを作成できないようにするための OS の制限です。

PushNotificationTrigger を使用するなど、常にいくつかの回避策があり、毎分デバイスにプッシュ通知を送信できます。( でなんとかできる人もいると思いますがScheduledToastNotification)、私はお勧めしません。

于 2014-08-04T14:47:54.670 に答える
2

AFAIK の公式 API では、TimeTriggerをそれほど頻繁に実行することはできません。Windows Phone では、間隔がさらに大きいことに注意してください ( MSDN )。

Windows には、15 分間隔でバックグラウンド タスクを実行する組み込みのタイマーがあります。Windows Phone では、間隔は 30 分です。

バッテリーの消費/制限により、それが可能になるとは思えません。アプリをフォアグラウンドのままにして、ロック画面を無効にすることができます ( DisplayRequestを使用)。

また、BackgroundTask で deferal を取得すると共にタイマーを実行することもできます。確かに多くの問題(CPU制限、メモリ、その他の制限)があるでしょう。それが認定要件に違反していないかどうかはわかりません。もちろん、BackgroundTaskがそうでないことを保証するものではありません。 OS によって終了されます。

于 2014-08-04T14:48:21.283 に答える