我正在尝试使用传感器管理器获取mobilePhone的方向(Roll,Pitch,Yaw)角度,并根据Android开发者网站上的内容编写方法
getInclination(float [] I) 用getRotationMatrix(float [],float [],float [],float [])返回的倾角矩阵I>计算弧度的地磁倾角。 和 getRotationMatrix(float [] R,float [] I,float [] gravity,float [] geomagnetic)
计算倾斜矩阵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)));
}
}
答案 0 :(得分:-5)
Display disp = (Display)getSystemService(Context.WINDOW_SERVICE);
int orientation = disp.getOrientation();
使用以上两行来获取手机的方向