如何知道Android看起来是向上还是向下?

时间:2014-09-23 10:53:43

标签: android sensor portrait

我现在正在为Android创建AR应用程序,但是发生了一个问题。 通过我的实现,即使Android向上或向下看,传感器也显示相同的音高。 下图显示了我想说的内容。

what_I_want_to_say

如果我水平抓住Android,传感器会显示音高== -90。 问题是我无法检测到!= b。(传感器说a == b。) 任何人都知道如何知道Android向上或向下看? Android的方向必须是纵向。

1 个答案:

答案 0 :(得分:1)

Sensor.TYPE_ROTATION_VECTOR用于该情况。

位置传感器

Android平台提供两个传感器,可让您确定设备的位置:地磁场传感器和方向传感器。 Android平台还提供了一个传感器,可让您确定设备面对物体的距离(称为接近传感器)。

方向数据如下,

resultingAngles[1] = orientationData[0]; // orientation z axis to y axis
resultingAngles[2] = orientationData[1]; // orientation x axis to z axis 
resultingAngles[0] = orientationData[2]; // orientation y axis to x axis

您已经以y z x方式进行了旋转。尝试改变方向..

请参阅文档了解事件值, http://developer.android.com/guide/topics/sensors/sensors_position.html