Android 每秒获取传感器值

Android 每秒获取传感器值,android,sensors,android-sensors,Android,Sensors,Android Sensors,有没有办法让我得到每秒的传感器读数? 传感器延迟正常速率(秒)是多少 sm=(SensorManager)getSystemService(SENSOR_SERVICE); accelerometer=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sm.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL); 传感器_delay_*指定的延迟仅为建议延迟,

有没有办法让我得到每秒的传感器读数? 传感器延迟正常速率(秒)是多少

sm=(SensorManager)getSystemService(SENSOR_SERVICE);
accelerometer=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sm.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);

传感器_delay_*指定的延迟仅为建议延迟,实际结果可能更快或更慢。如果你每秒只需要一次读数,你可以使用最慢的速率(传感器延迟正常),它应该每秒更新5次。不过,如果你想每秒做一次某件事,你需要自己的时间安排


谢谢,它也回答了我的问题,我用的是1000,看起来值是微秒

 SENSOR_DELAY_UI      (60,000 microsecond delay)
 SENSOR_DELAY_FASTEST (0 microsecond delay)
 SENSOR_DELAY_NORMAL) (200,000 microseconds delay)
因此,在一秒钟内,我应该使用恒定的1000000微秒。

传感器延迟(60000微秒延迟)
 SENSOR_DELAY_UI      (60,000 microsecond delay)
 SENSOR_DELAY_FASTEST (0 microsecond delay)
 SENSOR_DELAY_NORMAL) (200,000 microseconds delay)
传感器延迟最快(0微秒延迟)
传感器延迟正常(200000微秒延迟)

SENSOR.TYPE\u加速计传感器延迟正常161ms传感器延迟UI 20ms传感器延迟游戏20ms传感器延迟最快20ms但我不确定是否可以更改值。sm.registerListener(这个,加速计,1000)将返回每秒的加速度值?看起来您可以设置自API 11以来的绝对值。是的,它应该每秒发射一次。但无论如何,不要期望这是非常精确的。@Soner Gönül设置为1000000真的有效吗?对我来说,即使延迟频率值为1000000,它仍然每秒givs>20条记录。最后,我不得不引入逻辑,将第二次的所有传感器记录汇总起来,求出平均值,以供进一步使用。文件上说:两个连续事件之间所需的延迟,以微秒为单位。这只是对系统的一个提示。接收事件的速度可能快于或慢于指定的速率。通常事件接收速度更快。可以是传感器延迟正常、传感器延迟UI、传感器延迟游戏、传感器延迟最快或以微秒为单位的延迟。