0

Sensor Manager を使用して mobilePhone の向き (Roll、Pitch、Yaw) の角度を取得しようとしています。Android 開発者の Web サイトに書かれている方法によると、

getInclination(float[] 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();

上記の 2 行を使用して、携帯電話の向きを取得します

于 2012-04-03T16:21:34.837 に答える