安卓加速度计精度极差

2022-08-31 00:00:00 sensors android

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

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也存在同样的问题

有什么想法可以使模式准确/是什么设置了


解决方案

使用筛选器。你看到的是原始数据,所以它当然会波动。类似weighted average或moving average的内容就足够了。

相关文章