android - Sensor.TYPE_ROTATION_VECTOR 返回 null

标签 android android-sensors

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

所以我的问题是:

  • 使 ROTATION_VECTOR 工作需要哪些硬件传感器
  • 执行此操作的物理设备是什么(例如,如果我今天购买平板电脑并希望旋转矢量传感器工作,我需要购买什么设备)?
  • 在没有 ROTATION_VECTOR 传感器的情况下,我有哪些选项可以确定设备方向?

编辑:我们就此与三星进行了交谈,并确定平板电脑中的陀螺仪传感器已损坏,这就是我们将 rotation_vector 传感器返回为 null 的原因。

最佳答案

如果您阅读有关 how coordinates are defined 的文档对于此传感器(查找 Sensor.TYPE_ROTATION_VECTOR: 部分),则所需硬件显而易见:加速度计磁力计。陀螺仪也可用于获得更稳定的结果(我在某处找到了描述该传感器工作原理的链接,但找不到它)。

关于android - Sensor.TYPE_ROTATION_VECTOR 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757659/

相关文章:

android - 如何使用MediaPlayer再次播放/停止/播放

android - 错误 :- Could not find databinding-compiler. jar

带有压力传感器的安卓设备

android - TYPE_ACCELEROMETER 和 TYPE_LINEAR_ACCELERATION 传感器有什么区别?

android - 在设置中配置 RetroFit BASE URL

android - 在 webview android 中删除谷歌驱动器/文档查看器中的弹出选项

android - 如何获得与设备旋转无关的磁场矢量?

java - 向前倾斜还是向后倾斜?类型旋转 vector

java - 一段时间后声音停止 - Android

android - 传感器 TYPE_ACCELEROMETER 和 TYPE_MAGNETIC_FIELD - 它们适用于手机,但不适用于平板电脑