android accelerometer accuracy is extremely poor
- by user564594
Wrote a simple program that prints out accelerometer output.
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);
It turns out that:
The accelerometer output is always set to "lowest" as determined by:
public void onAccuracyChanged(Sensor sensor, int accuracy) {
if (collectingData){
accelPrecision.setText("accelerometer accuracy: " + accuracy);
}
}
The actual accelerometer readings are very inaccurate - about 2%-5% fluctuations even when it's resting on the table
as far as I can tell it's the same problem on Nexus S, Nexus One and G1
Any idea how it could be made mode accurate / what sets a