外观
如何获取加速度计、陀螺仪和磁力计的数据?它们的单位是什么?
标准回答
通过 SensorManager.getDefaultSensor 分别取得 TYPE_ACCELEROMETER、TYPE_GYROSCOPE、TYPE_MAGNETIC_FIELD,再 registerListener,在 onSensorChanged 读取 x/y/z。单位依次是 m/s²、rad/s、μT;加速度计读数包含重力,线性加速度传感器才排除重力分量。
通俗例子
通过 SensorManager 注册监听得到三轴数据;常见单位分别为 m/s²、rad/s 和 μT。先确认坐标轴和是否包含重力,再做计算。
深入解释
**三类数值分别表示什么:**加速度计反映包含重力影响的加速度,陀螺仪反映角速度,磁力计反映磁场;常见单位依次是 m/s²、rad/s、μT。
**拿到数据前先确认什么:**检查设备是否有对应传感器,再注册监听,核对坐标系、时间戳和精度状态。屏幕旋转或设备姿态变化时,不能只凭某个轴的正负直接下结论。
内容来源
- Android · AI Agent 知识手册 · 原条目
13.1.1