Android如何检测手机是否掉头
这是我用来检测手机是否掉头的代码Android如何检测手机是否掉头,android,Android,这是我用来检测手机是否掉头的代码 private SensorManager sensorManager; private int orientationLim = 165; @Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { // If shake to s
private SensorManager sensorManager;
private int orientationLim = 165;
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
// If shake to stop is enabled
boolean turnAroundToStop = Utils.getBooleanFromProperties(this, Properties.SP_CB_TURN_AROUND_TO_STOP);
if (turnAroundToStop) {
float value = Math.abs(event.values[1]);
if (value > orientationLim && !stopped) {
// Down
stopped = true;
} else {
// Up
stopped = false;
}
}
}
}
但问题是,stopped
变量设置为true,即使手机并没有完全掉头,只是稍微掉头了一点
如何修改此代码,该代码仅在手机处于中继状态时执行。float pitch=values[2];
float pitch = values[2];
if (pitch <= 45 && pitch >= -45) {
// mostly vertical
} else if (pitch < -45) {
// mostly right side up
} else if (pitch > 45) {
// mostly left side up
}
如果(节距=-45){
//大部分是垂直的
}否则,如果(节距<-45){
//大部分是正面朝上
}否则,如果(节距>45){
//大部分是左侧向上
}
请在此查看此主题:
虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。如果屏幕向下,水平方向如何?