我有一个类在启动时启动传感器侦听器。当触发事件时,此侦听器将最新的传感器值写入变量。该类继续执行一些逻辑,并且在某些时候,将检查此变量并根据值继续。
我的问题是,不能保证读取变量时有任何值,因为 Android 传感器侦听器仅在传感器值更改时触发事件(并且不一定在它们启动后立即触发事件)。
因此,我需要我的应用程序等待事件触发,以便它有数据可以工作(最好是超时,以确保它不会无限期地等待)。
我的问题是,实现这种等待的最佳方式是什么?我是否应该有一个处理程序在继续之前每 X 毫秒检查一个值?我是否应该在侦听器和处理程序之间传递某种消息来告诉它何时写入数据,并且它现在可以恢复?还有其他更好的选择吗?
编辑:我应该指出,类逻辑在 UI 线程上执行。