Android中"重力"和"加速度"传感器有什么区别?

Suz*_*ioc 22 android accelerometer gravity android-sensors

Android中的重力和加速度传感器有什么区别?从我的观点来看,两种情况下的物理价值都是相同的.

哪一个测量作用于设备内部单位质量的力?

加成

问题是:这些传感器测量的物理量是多少?根据等效原理,加速度和重力是无法区分的,测量两者的唯一方法是通常(但是3d)弹簧平衡.

len*_*nik 11

加速度传感器可以返回应用于设备的所有力的总和,而重力传感器仅返回重力的影响.如果要从加速度中排除重力,可以使用高通滤波器或仅从加速度传感器值中减去重力传感器值 - 不确定哪种方法可以提供更好的精度.

另一种方法可能是使用Sensor.TYPE_LINEAR_ACCELERATION,它精确地给出(加速 - 重力),但是你应该检查它是否在设备上可用.我找到了一些设备,它们有ACCELERATION传感器工作,但没有GRAVITY或LINEAR_ACCELERATION传感器的响应.

  • 最有可能的是,自从API版本9以来GRAVITY可用,我认为我的手机升级后我的手机没有任何硬件更改=) (2认同)
  • 很好的答案.FYI,TYPE_LINEAR_ACCELERATION和TYPE_GRAVITY使用卡尔曼滤波器从加速度计,磁力计和陀螺仪数据计算得出,参见源代码https://github.com/android/platform_frameworks_base/tree/ics-mr1/services/sensorservice (2认同)