Android 安卓:加速计显示重力大于10,而不是9.8

Android 安卓:加速计显示重力大于10,而不是9.8,android,accelerometer,android-sensors,gravity,Android,Accelerometer,Android Sensors,Gravity,我写了一个程序从加速度计中找到重力。我把手机(galaxy S4)放在地上。但是z轴的值是10.5而不是9.8。。。 我不想用重力传感器或其他东西。。。我只是想测试一下加速度计。 我的代码是: @Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { onAcceleration

我写了一个程序从加速度计中找到重力。我把手机(galaxy S4)放在地上。但是z轴的值是10.5而不是9.8。。。 我不想用重力传感器或其他东西。。。我只是想测试一下加速度计。 我的代码是:

  @Override
  public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
    {
        onAccelerationSensorChanged(event.values, event.timestamp);
        Log.d("acceleration","is :"+event.values[2]);
    }
  }

事件。值[0]和1正确(当我将手机置于边缘时,我正确接收到9.8和-9.8)。但问题在于事件。价值观[2]。当我把手机放在桌上时,我给出的数字大约是10.5(屏幕在顶部)和-9(屏幕在底部)。有什么问题?如何修复它?

添加程序,从加速度计中查找重力。这样人们就可以帮助你了。我只需检查加速计的event.values。。。我没有做任何其他事情。不管怎样,如果你分享你尝试过的代码,然后问我是否有疑问,它会很清楚。@BalajiG我添加了简单的代码…尝试校准运动传感器并检查。