1

これは、電話が向きを変えたかどうかを検出するための私のコードです

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に設定されていることです。

電話がリレーされたときにのみ実行されるこのコードを変更するにはどうすればよいですか。

4

1 に答える 1