1

15分ごとに操作を行うハンドラー(handler.postDelayed())があり、インターネットリクエストを行うリモートサービスを実行しています。時々私はそれが起こらないことに気づきます。インターネットはありますか(モバイルがスリープまたはプロセッサがスリープすると、モバイルデータ接続がオフになります)。この間に何が起こりますか?

画面がスリープ状態になるとインターネットがオフになると思います。必要な時間間隔(30分)でウェイクアップ(インターネットをオンにする)し、リモートサービスでジョブを実行することを確認するための効率的な方法は何でしょうか?このサービスは、全体を通してバックグラウンドで実行されることになっています。これをAlarmManagerで実行できますか(リモートサービスで発生するジョブをトリガーできますか)?

4

1 に答える 1

0

関連する質問の回答に記載されているように、このサービスにWi-Fiのみを使用している場合は、 WifiLockを試すことができます。
もう1つの理由は、Androidが使用されなくなったときに、サービスが破壊された可能性があることです。その場合は、フォアグラウンドサービスオプションを試すことができます。これは、サービスが破棄されないことを保証するものではありませんが、他のサービスと比較して優先度が低くなるため、サービスが存続する可能性が高くなることに注意してください。

于 2012-04-18T06:39:02.693 に答える