Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android周期传感器数据_Java_Android - Fatal编程技术网

Java Android周期传感器数据

Java Android周期传感器数据,java,android,Java,Android,对于Android应用程序,它将在图形中显示内部传感器(例如加速度)的值,我需要找到一种定期访问该信号的方法。 目前,我使用的是SensorEventListener,但不幸的是,这只允许我在它发生变化时获取一个值。 因为我想根据时间显示图形(点对点),这意味着它将直接从旧值到新值绘制一条线(如果旧值已经存在很长时间,它看起来像是值的线性变化)。 所以我的问题是:如何定期访问传感器的数据?上面说注册器Listener(android.hardware.SensorEventListener,an

对于Android应用程序,它将在图形中显示内部传感器(例如加速度)的值,我需要找到一种定期访问该信号的方法。 目前,我使用的是
SensorEventListener
,但不幸的是,这只允许我在它发生变化时获取一个值。 因为我想根据时间显示图形(点对点),这意味着它将直接从旧值到新值绘制一条线(如果旧值已经存在很长时间,它看起来像是值的线性变化)。 所以我的问题是:如何定期访问传感器的数据?

上面说
注册器Listener(android.hardware.SensorEventListener,android.hardware.sensor int)

“以给定采样频率为给定传感器注册SensorEventListener。”


但是,要获取这些事件,您的应用程序需要处于活动状态(保持部分唤醒锁)。最好在后台服务中这样做,这样应用程序就不需要保持活动状态。例如,请参见,

因此,最后我使用了一个计时器,它定期检查传感器的值,并将其放入阵列中。 不幸的是,
registerListener
不起作用,因为该值只是对系统的建议。
感谢您的帮助。

问题在于,时间只是对系统的一个建议。接收事件的速度可能快于或慢于指定的速率。这意味着,
registerListener(android.hardware.SensorEventListener,android.hardware.Sensor int,1000000)
(100万µs=1s)每秒不会生成一个值,但会生成更多值。那么,我能做些什么呢?比如说,每秒接收一个传感器信号?记录你最后一次读取你感兴趣的数据的时间,不要对不到1秒的数据做任何事情