使用Sensormanager获取手机的方向(Roll,Pitch,Yaw)角度?

问题描述 投票:0回答:1

我正在尝试使用Sensormanager获取移动电话的方向(Roll,Pitch,Yaw)角度,并根据android开发者网站上的内容,方法

getInclination(float [] I)根据getRotationMatrix(float [],float [],float [],float [])返回的倾角矩阵I>计算弧度的地磁倾角.`和getRotationMatrix(float [] R, float [] I,float [] gravity,float [] geomagnetic)

计算倾斜矩阵I以及将矢量>从设备坐标系转换为世界坐标系的旋转矩阵R,该坐标系被定义为>直接标准正交基。 `并返回布尔值。

我的问题是,如何使用提到的方法获得方向?

@Override
public void onSensorChanged(SensorEvent event) {
    // TODO Auto-generated method stub

    float []I = new float[9];
    float []R = new float[9];

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        float x = event.values[0];
        float y = event.values[1];
        float z = event.values[2];

        tvX.setText(Float.toString(x));
        tvY.setText(Float.toString(y));
        //tvZ.setText(Float.toString(sm.getInclination(I)));    
    }
}
android rotation orientation sensormanager
1个回答
-5
投票
Display disp = (Display)getSystemService(Context.WINDOW_SERVICE);
int orientation = disp.getOrientation();

使用以上两行来获取手机的方向

© www.soinside.com 2019 - 2024. All rights reserved.