Is there any way I can read a sensor per second? What is SENSOR_DELAY_NORMAL speed in seconds?
sm=(SensorManager)getSystemService(SENSOR_SERVICE); accelerometer=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sm.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
The delay set by SENSOR_DELAY_ * is only the suggested delay , actual results can be faster or slower. If you only need one read per second, you can use the slowest speed (SENSOR_DELAY_NORMAL), it should be updated approximately 5 times per second. You will need your own deadlines if you want to do something exactly once a second.
http://developer.android.com/guide/topics/sensors/sensors_overview.html
, , , 1000, , .
SENSOR_DELAY_UI (60,000 microsecond delay) SENSOR_DELAY_FASTEST (0 microsecond delay) SENSOR_DELAY_NORMAL) (200,000 microseconds delay)
1,000,000 .
SENSOR_DELAY_UI (delay of 60,000 microseconds) SENSOR_DELAY_FASTEST (0 microsecond delay) SENSOR_DELAY_NORMAL) (delay of 200,000 microseconds)