0

我正在尝试使用传感器管理器获取手机的方向(滚动、俯仰、偏航)角度,并根据 android 开发人员网站上的内容,该方法

getInclination(float[] I) 从倾角矩阵 I 计算地磁倾角(以弧度为单位) >由 getRotationMatrix(float[], float[], float[], float[]).` 和 getRotationMatrix(float[] R, float[] I、float[] 重力、float[] 地磁)

计算倾斜矩阵 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)));    
    }
}
4

1 回答 1

-5
Display disp = (Display)getSystemService(Context.WINDOW_SERVICE);
int orientation = disp.getOrientation();

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

于 2012-04-03T16:21:34.837 回答