我需要每n秒获取一个传感器的值。 在寄存器监听器中设置时间似乎不够,好像没有发生任何变化就不会调用事件,而我想获得传感器的值,即使它没有改变......
答案 0 :(得分:1)
你可以创建一个Thread,你可以让它在n秒内休眠,然后监听传感器数据。您还可以在其中创建一个名为getSensorData()
的方法,该方法将返回数据类型。
我希望这会有所帮助。
答案 1 :(得分:0)
这几天我也遇到过这个问题。我通过以下方式解决了这个问题:
在onSensorChanged方法中,我将所有数据存储到一个数组中,比如acc [time,acc_x,acc_y,acc_z]。 每次传感器更换时,我都会检查此时间戳与acc中存储的第一个时间戳之间的差异,即acc [0]。如果差异大于0.2s(使用你想要的时间跨度),我将在时间跨度中使用acc的平均值,比如meanAcc,并将其存储到另一个数组中。 然后acc将被清除。并重复上述步骤。
帮助这可以提供帮助。