2016-10-02 12 views
0

私は新しいデータ(ネットワークから)をx秒ごとにチェックする必要のあるUWPアプリケーションを持っています。私は新しいasyncスレッドを開始することでこれを行います。 Windows Phoneでアプリケーションを最小化またはナビゲートすることもでき、これによりアプリケーションが一時停止されます。再起動時に非同期ループを復元する

ユーザーがアプリに再度アクセスしたときにループを復元するにはどうすればいいですか(まだ開いているようです(同じPage))。これは、再起動時にPageに再度ナビゲートするか、またはループを復元することによってを復元することによって行うことができます。そうする最も簡単な方法は何ですか?

答えて

0

通常、アプリが停止されているときにタスクをキャンセルしないと、OSはそれを行います。したがって、作業を再開するための進捗状況を保存しながら、適切な信号をタスクに送信することをお勧めします。

しかし、UWPにはExtendedExecutionのようなものがあります。これは、アプリがバックグラウンドで最大10分間実行できるようにする必要があります(これはバッテリ駆動のデバイスの制限です。それはもちろん様々なシナリオで変わるかもしれません)。

しかし、私は数秒間隔で変化を確認することは悪い考えかもしれないと思います。たぶん、デザインを少し変更して、バックグラウンド処理用に設計されたBackgroundTasksを使用することができます。

アプリの状態に関する情報の大部分はat MSDNです。

+0

ありがとうございますが、タスクを再開するには_how_が必要です。アプリにフォーカスがあるときにのみ実行する必要がありますが、フォーカスが復元されたら直ちにリフレッシュする必要があります。 – Alexej

+0

@Alexejタスクがキャンセルされたら、タスクを再開することはできません。あなたのアプリが中断されていない場合は、フォーカスを失う前と同じように動作するはずです。 – Romasz

+0

「タスク」の再起動を強制することはできますか?だから、アプリがデスクトップとモバイルに焦点を失うたびに、 'OnNavigatedTo'メソッドなどで' Task'が起動した 'Page'に再びナビゲートします。 – Alexej

関連する問題