我想用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轴的弧度。但是,这个价值很奇怪。
1,2之间的状态具有2,3之间的状态。我怎么知道我的手机在哪个状态?
答案 0 :(得分:0)
请验证您的读数。
标志&您报告的范围与完全不同步 什么是Android设备上的预期。
developer.android.com/reference/android/hardware/Sensor.html#TYPE_ORIENTATION
注意:此传感器类型因遗留原因而存在,请将 getRotationMatrix()与 remapCoordinateSystem()和 getOrientation()结合使用改为计算这些值。
问候
CVS @ 2600Hertz