Android 获取加速度计上getOrientation的最小值和最大值?

Android 获取加速度计上getOrientation的最小值和最大值?,android,android-sensors,Android,Android Sensors,我目前正在Android上使用加速计,遇到了一个有趣的情况。我需要找出以下各项的最大值,而不需要最终用户在某些复杂的校准程序中反复使用手机。我特别想要的价值观是 @Override public void onSensorChanged(SensorEvent event) { SensorManager.getOrientation(outR, xyz); float X, Y, XMax, YMax; X = xyz[1]; Y = xyz[2];

我目前正在Android上使用加速计,遇到了一个有趣的情况。我需要找出以下各项的最大值,而不需要最终用户在某些复杂的校准程序中反复使用手机。我特别想要的价值观是

@Override
public void onSensorChanged(SensorEvent event) {

    SensorManager.getOrientation(outR, xyz);

    float X, Y, XMax, YMax;

    X = xyz[1];
    Y = xyz[2];

    XMax = ???;
    YMax = ???;
}
我曾在网上闲逛过,但并没有太多的运气来确定这些值是什么(它似乎随着手机的不同而变化),也没有看到任何人提到从某处提取这些值的方法

有人知道我如何确定xyz[1]和xyz[2]的最大/最小值吗

更新:我的意思的一个例子如下:

当我直接报告从xyz[1]输出的浮点值,然后一直向前和向后移动手机时,我得到以下结果:

它报告的最小值:-1.50(给出或取10分之一) 它报告的最大值:1.50(给出或获取10分之一)

当我左右滚动我的手机时,我得到xyz[2]的以下信息:

它报告的最小值:-3.14(给出或接受10分之一) 它报告的最大值:3.14(给出或获取10分之一)


我被告知这会在不同的手机之间发生变化,但这是可以写的。

我不知道您所说的最大/最小值是什么,但getOrientation将用以下数据填充向量:

xyz[0]: azimuth [-π,π]
xyz[1]: pitch [-π/2,π/2]
xyz[2]: roll [-π,π]
发件人:

以上三个角度均以弧度为单位,以正数为单位 逆时针方向

另请参阅SensorManager.java:1094类:


我更新了我的问题,解释了我对最小值和最大值的意思,以及我在这方面看到的情况!你列出的俯仰值看起来和我看到的一致,但是滚动值实际上是[-π,π]。听起来对吗?那正是我想要的!非常感谢您的回答:)