0
現在コンパニオンアプリを開発中です。これまでのところとても良い、私はコンパスが働いている。私は、TYPE_MAGNETIC_FIELD
と組み合わせたTYPE_ACCELEROMETER
を使用するよりはるかに安定しているので、TYPE_ROTATION_VECTOR
を使用しています。これは私の方位角を計算するコードです:Androidセンサー:Compass
SensorManager.getRotationMatrixFromVector(rotationMatrix, sensorEvent.values);
// original values are within [-180,180]
azimuth = (float) (Math.toDegrees(SensorManager.getOrientation(rotationMatrix, orientation)[0]) + 360) % 360;
デバイスがテーブルに平らに置かれている場合、結果は正しいです。私の携帯電話を持ち上げて、立っている(画面が今私に面している)場合、私は間違った結果を得る。私の軸は変わったからだと思います。これを正しく検出して処理するにはどうすればよいですか?ここ