1
我想用Android傳感器檢測圍繞X軸的正確旋轉。谷歌搜索後,我發現這個代碼:關於Android上X軸旋轉的問題
public void onSensorChanged(SensorEvent event) {
Sensor sensor = event.sensor;
switch(sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
mAcc = event.values.clone();
break;
case Sensor.TYPE_MAGNETIC_FIELD:
mMag = event.values.clone();
break;
}
if (mAcc == null || mMag == null) return;
float R[] = new float[9];
if (SensorManager.getRotationMatrix(R, null, mAcc, mMag)) {
SensorManager.getOrientation(R, mOrientation);
}
}
mOrientation [1]表示繞X軸的弧度。但是,價值很奇怪。
- 當手機平放頂部朝上放在桌上,它的0
- 當指向地面電話的頭,它的PI/2。
- 當手機平躺在桌子底部時,它又是0。
- 當電話的頭指向天空時,它-PI/2。
1,2之間的狀態具有2,3之間的狀態相同的旋轉值。我怎麼知道我的手機在哪個狀態?