Sensor.TYPE_ROTATION_VECTOR返回null

gba*_*ill 5 android android-sensors

当我在设备上调用SensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)时,它返回null.我知道这是一个虚拟传感器(做一些聪明的数学运算来从真实传感器中获取值).我返回null,因为我的设备没有ROTATION_VECTOR工作所需的硬件传感器之一.

所以我的问题是:

  • 需要什么硬件传感器才能使ROTATION_VECTOR正常工作
  • 什么物理设备这样做(即如果我今天购买平板电脑并希望旋转矢量传感器工作,我需要购买什么样的deveice)?
  • 如果没有ROTATION_VECTOR传感器,我有哪些选项可以解决设备方向问题?

编辑:我们与三星谈到了这一点,并决定平板电脑中的陀螺仪传感器被打破,这就是为什么我们作为rotation_vector传感器得到空的原因.

Mar*_*k R 6

如果您阅读有关如何为此传感器定义坐标的文档(查找部分Sensor.TYPE_ROTATION_VECTOR:),那么所需的硬件是显而易见的:accelerometermagnetometer.陀螺仪也可能用于获得更稳定的结果(我已经在某处链接描述了这个传感器是如何工作但却无法找到的).

  • 准确地说,这里明确需要陀螺仪:http://developer.android.com/about/versions/android-4.0.html *改进的传感器依靠陀螺仪传感器来提高其输出,因此传感器仅在设备上强调 textar有陀螺仪*。 (2认同)