Android 使用安卓传感器时,应该使用哪个传感器来确定设备是向上倾斜还是向下倾斜
使用安卓传感器时,应该使用哪个传感器来确定设备是否向上或向下倾斜 通过使用以下代码:Android 使用安卓传感器时,应该使用哪个传感器来确定设备是向上倾斜还是向下倾斜,android,android-sensors,Android,Android Sensors,使用安卓传感器时,应该使用哪个传感器来确定设备是否向上或向下倾斜 通过使用以下代码: SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet); SensorManager.remapCoordinateSystem(mRotationMatrix, SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2); SensorManager.g
SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet);
SensorManager.remapCoordinateSystem(mRotationMatrix,
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2);
SensorManager.getOrientation(R2, mValuesOrientation);
我得到了三个方向值(方位角、俯仰角、横滚角)
如何使用三个方向值来确定设备是否向上或向下倾斜。我认为加速度传感器用于确定设备是否向上或向下倾斜 要获得设备倾斜以及其他攻角,您需要注册一个监听器,用于类型\加速计和类型\磁场事件:
mngr = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
accelerometer = mngr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
magneticField = mngr.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
int rate = SensorManager.SENSOR_DELAY_GAME; // or other
mngr.registerListener(sensorListener, accelerometer, rate);
mngr.registerListener(sensorListener, magneticField, rate);
一旦监听器被激活,您将需要调用
SensorManager.getOrientation()
获取方位角(z)、俯仰角(x)和滚动角(y)的当前值
您可以在此处找到详细的代码示例: