開始時にセンサーリスナーを開始するクラスがあります。このリスナーは、イベントがトリガーされると、最新のセンサー値を変数に書き込みます。クラスはいくつかのロジックを実行し、ある時点でこの変数をチェックし、値に応じて処理を進めます。
私の問題は、変数が読み取られたときに値があるという保証がないことです.Androidセンサーリスナーは、センサー値が変化したときにのみイベントをトリガーします(開始するとすぐにイベントをトリガーするとは限りません)。
したがって、アプリがイベントがトリガーされるのを待って、データが機能するようにする必要があります (できればタイムアウトを使用して、無期限に待機しないようにします)。
私の質問は、この待機を実装する最良の方法は何ですか? 続行する前に X ミリ秒ごとに値をチェックするハンドラーが必要ですか? リスナーとハンドラーの間で何らかのメッセージをやり取りして、データがいつ書き込まれたかを通知し、再開できるようにする必要がありますか? より良い他のオプションはありますか?
編集:指摘する必要があります、クラス ロジックは UI スレッドで実行されます。