Sensor.TYPE_GRAVITY是否始终在android 2.3+中可用?

时间:2013-10-11 13:20:03

标签: android android-sensors gravity

我在计步器实施中使用Sensor.TYPE_GRAVITY。但是,我不确定这个传感器是否确实始终在设备上实现。 sensortype从android 2.3开始可用,所以我的问题是:我可以假设所有设备都在android 2.3 +上实现了这个传感器吗?

我在问,因为它是一个软件传感器,而不是硬件传感器。

1 个答案:

答案 0 :(得分:0)

嗯,看起来2.3中的实现完全基于软件并且仅基于加速度计数据。 GravitySensor.cpp in android 2.3

因此,在Android 2.3+中可以安全地假设它始终可用。

在android 4+中,传感器是传感器融合设备(GravitySensor.cpp in android 4.0.3),因此也使用其他传感器来提高可靠性。同样,我认为它将可用并使用可以获得的任何数据,如果例如加速度计不存在则会突然失去支持,这将是奇怪的。

android 2.3中的实现使用二阶巴特沃斯滤波器来提取重力分量并且非常简单。在Android 2.3上使用这个传感器的实验显示它确实不完全准确,它错过了0.1G-0.2G或真正的1G预期信号,但它足以用于集成到计步器中。