В моем приложении я хочу подсчитать, как долго акселерометр превышает определенный порог, но я не знаю, как это сделать.
Чувствительность моего акселерометра установлена на 'SensorManager.SENSOR_DELAY_GAME'
, поэтому метод onSensorChanged()
вызывается примерно 20 раз. Второй.
У меня есть флаг movementFlag
, который я устанавливаю в значение true всякий раз, когда скорость акселерометра превышает пороговое значение, и возвращаю значение false, когда оно становится ниже порогового значения.
Итак, скажем, в течение часа я хочу подсчитать общее количество времени, в течение которого movementFlag
установлено значение true, увеличивая это значение времени каждый раз, когда оно установлено, и то же самое, когда оно установлено на false.
I подумал, может быть, у меня может быть 2 значения - moveStart
и moveFinish
- которые я мог бы установить в System.currentTimeMillis()
при переходе MovementFlag от true к false и наоборот. Вычитание этих значений друг из друга даст мне количество времени, в течение которого флаг устанавливается каждый раз.
Но я не знаю, как это сделать только при переходе флага, а не все время, пока флаг установлен. .
Может ли кто-нибудь сказать мне, как сделать то, что я хочу сделать здесь, или другой способ? Спасибо