私のアプリケーションの機能の1つは、ユーザーが誤って有効にしたままにならないように、5分後にタイムアウトするように設計されています。Androidデバイスがロックされていると、RxJavaの間隔とタイムアウトが時折停止する
アクティビティには、Observable.interval()
で更新されたカウントダウンタイマーが表示され、機能のタイムアウトはObservable.timeout()
によって実装されます。
時々カウントダウンが実行され、ユーザーがデバイスをロックすると、は発光を停止し、timeout()
はタイムアウト例外をスローしません。デバイスがロック解除され、アクティビティが再びフォアグラウンドで行われると、最終的にはtimeout
が発生し、不確定な時間が経過した後で例外が発生します。
this SO postにはinterval
が「アクティブコード」のみであることが示唆されています。この問題が発生していると私は想定しています。
私はこのタイムアウトとカウントダウンのためにRxJavaを使い続けることができる簡単な解決法がありますか?AlarmManager
のような他の解決策を見なければなりませんか?レスキューに特別なScheduler
?
最後の質問については、[ジョブスケジューラ](https://developer.android.com/topic/performance/scheduling.html)を確認してください。残りのコードを表示する必要があります。 – masp