У меня есть функция для отсрочки блокировки текущей работы системы.Функция startTimer запускается в функции onCameraFrame (), которая вызывает каждый захваченный кадр.Если вызывается мой таймер ниже, поднимается флаг для блокировки процесса.
public void startTimer() {
if (!isLockSystem()) {
Handler handler = new Handler();
setLockSystem(true);
Log.d(TAG_DEBUG, " The system is locked !");
handler.postDelayed(new Runnable(){
@Override
public void run() {
setLockSystem(false);
Log.d(TAG_DEBUG, " The system is unlocked !");
}
}, 5000);
} else {
Log.d(TAG_DEBUG, " The system is already locked !");
}
}
Функция startTimer () вызывается, но никогда не возвращается к функции run ().Всякий раз, когда я запускал startTimer, нажималось «Система уже заблокирована».
Какой безопасный способ реализовать таймер только один раз в повторяющемся процессе, который, как захват непрерывных кадров с камеры.