Android 中的传感器坐标系不会改变,是吗?

pol*_*kyg 5 android tilt-sensor android-sensors

我在很多地方读到过:一个屏幕值得另一个:“API 用于设备自然方向的传感器坐标系不会随着设备移动而改变,并且与 OpenGL 坐标系相同。”

现在,我得到与此图像相同的读数: 在此处输入图片说明

我不明白的是:如果我旋转手机(始终使屏幕面向用户)坐标系没有改变,则重力应始终施加在 Y 轴上。只有当我将手机放在屏幕不再面向用户的位置时,它才应该改变轴,就像放在桌子上一样,重力应该施加在 Z 轴上。

我的理解有什么问题?

谢谢!吉列尔莫。

Amr*_* E. 1

当设备的屏幕方向改变时,轴会交换。根据您引用的文章:

\n\n
\n

但是,Android 传感器 API 将传感器坐标空间定义为相对于设备的顶部和侧面 \xe2\x80\x94,而不是相对于短边和长边。当系统因侧握手机而重新调整屏幕方向时,传感器坐标系不再与 screen\xe2\x80\x99s 坐标系对齐,并且应用程序的显示会出现意外的旋转。

\n
\n\n

如果您愿意,要访问未交换的值,请在 value[] 中使用索引 3、4 和 5,否则同一篇文章中提到的一些建议效果很好!

\n