Android 适用于2.1的安卓重力传感器(U型重力)

Android 适用于2.1的安卓重力传感器(U型重力),android,sensors,Android,Sensors,我有为2.3.3设计的软件,其中我使用重力传感器 代码如下- private SensorManager sman = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE); private Sensor magnetfield, gravity; ... magnetfield = sman.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); gravity = sma

我有为2.3.3设计的软件,其中我使用重力传感器

代码如下-

private SensorManager sman = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
private Sensor magnetfield, gravity;
...
magnetfield = sman.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
gravity = sman.getDefaultSensor(Sensor.TYPE_GRAVITY);
我决定添加对2.1版的支持。然而,2.1中似乎不支持类型_GRAVITY,并且我得到一个错误,
传感器。类型_GRAVITY
不再被识别

问题- A) 当我搜索“安卓重力传感器2.1”时,谷歌会链接到在2.1设备中演示重力传感器的视频。这是否意味着有办法访问它? B) 如果没有,可以使用此功能的最低版本是什么?在SDK中找不到它


感谢自API Level 9(Android 2.3)开始,传感器线性加速度
重力重力
类型可用,因此您将无法在2.1上使用它们


如果你想实现它,我想你应该研究一下手机的方位,这样你就可以知道它是如何定向的,从而知道加速度中的重力分量。

通过查看源代码,你可以看到重力传感器实际上是用巴特沃斯滤波器计算出来的。我还问了一个关于dsp()的问题。希望链接有帮助,因为它帮助我了解了很多事情

对于<2.3版的重力传感器,如果希望获得相同的结果,则需要自己实现该过滤器

是源代码


稍后编辑:添加了一个有效链接

您的源代码丢失,请提供可用的代码。Gitorious已被收购,因此该链接再次失效。请在android源repo中链接到同一文件。可能是文件的更新版本。你解决了这个问题吗?我正在寻找仅基于三个基本传感器的_型重力传感器的java实现。