私は、Webサービスによって返される値に依存するAndroidアプリケーションを持っています。この値は1週間に1回しか変更されません。クライアントはこの変更された値を検出する必要がありますが、この変更が検出された正確な時間は実際には重要ではありません.12〜24時間後は問題ありません。AndroidカスタムアプリケーションクラスのonCreate()メソッドで実行される操作をスケジュールする必要がありますか?
現在の実装では、Webサービスから値を取得するカスタムアプリケーションクラスのonCreate()メソッドでIntentServiceが開始されます。 SharedPreferencesで最後に取得した値も保持するので、アプリケーションはこの値が取得されるまで待つ必要はありません。
私の質問は、onCreate()メソッドで最初に取得した後にこの値の取得をスケジュールする必要がある場合です.12時間後に言うことができます。 onCreate()メソッドはアプリケーションのライフサイクルで一度しか呼び出されませんが、アプリケーションがAndroidシステムによってどのくらい終了する可能性があるのかわかりません。スケジューリングが必要ないようにアプリケーションが十分に終了すると仮定することは合理的ですか?そして、私は手術をスケジュールする必要がある場合、これを達成するための最良の方法は何でしょうか?
onCreateを使用した場合、2度目の呼び出しが保証されないと思います。例えば。ユーザーが携帯電話を充電して充電すると、スリープ状態になり、アプリが終了して数日間放置されます。非常にありそうもないが不可能ではない。もし私があなただったら私はある種のスケジュールされた仕事を設定しました。 http://developer.android.com/resources/articles/timed-ui-updates.htmlなど、このリンクが役立つかもしれません。 –
あなたが概要を説明したシナリオが、私がこの質問をした理由です。ハンドラーとリンクされた記事のpostDelayed()メソッドを使用したコード例は、私にとってはうまく見えます。 –
リンクされた記事に記載されているソリューションを実装します。これをあなた自身の答えに入れると、私はあなたの答えを受け入れます。もしそうでなければ、私は自分の質問に後で答えます。 –