-1

我想在我的应用程序中使用加速度计数据。

我可以TYPE_ACCELEROMETER毫无问题地访问 ,但许多人建议使用TYPE_LINEAR_ACCELERATION已经从地球重力中过滤的 。看起来我无法访问该传感器,因为在日志下面的代码中将返回 null。据我了解TYPE_LINEAR_ACCELERATION,在大于 8 的 Android API 上可用作“软件传感器”......我在三星 Galaxy Tab 2 上使用 14 作为我的最低要求。

知道为什么我会为空吗?是因为这个模型没有陀螺仪吗?

代码:

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

mLinearAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);

Log.i("TYPE_LINEAR_ACCELERATION", String.valueOf(mLinearAccelerometer));

谢谢

编辑:添加缺少的“=”符号

4

1 回答 1

3

根据android运动传感器文档

Android 开源项目 (AOSP) 提供了三种基于软件的运动传感器:重力传感器、线性加速度传感器和旋转矢量传感器。这些传感器在 Android 4.0 中进行了更新,现在使用设备的陀螺仪......所有这三个传感器都依赖于陀螺仪:如果设备没有陀螺仪,则这些传感器不会显示并且无法使用。
. 所以你的猜测是正确的,没有陀螺仪重力传感器是不可用的。

于 2013-06-23T22:34:06.050 回答