android加速度计的准确性极差

问题描述 投票:2回答:1

写了一个打印出加速度计输出的简单程序。

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);     

事实证明:

  1. 加速度计输出始终设置为“最低”,具体取决于: public void onAccuracyChanged(Sensor sensor, int accuracy) { if (collectingData){ accelPrecision.setText("accelerometer accuracy: " + accuracy); } }
  2. 实际的加速度计读数非常不准确 - 即使它放在桌子上也会有大约2%-5%的波动

据我所知,它与Nexus S,Nexus One和G1相同

任何想法如何使模式准确/什么设置

android sensor
1个回答
0
投票

使用过滤器。您正在查看原始数据,因此当然会出现波动。像weighted averagemoving average之类的东西就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.