Нажатие кнопки Я вызываю следующую функцию.Проблема со сном в потоке
private void badButtonHandler() {
Camera.Parameters params = mCamera.getParameters();
params.setColorEffect(Camera.Parameters.EFFECT_NEGATIVE);
mCamera.setParameters(params);
if(thread != null){
thread = null;
}
thread = new Thread()
{
@Override
public void run() {
try {
while(true) {
sleep(5000);
Camera.Parameters params = mCamera.getParameters();
params.setColorEffect(Camera.Parameters.EFFECT_NONE);
mCamera.setParameters(params);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
}
Эта функция предназначена для изменения цветового эффекта камеры через 5 секунд после нажатия кнопки. При первом нажатии соответствующей кнопки она ведет себя так, как ожидалось. Но дополнительные вызовы этой функции ведут себя не так, как ожидалось. I.e., второй раз, когда он ждет 2 секунды, после чего он уменьшается до более низких значений с каждым щелчком.
использовать флаг для управления потоками, потому что тема непрерывно работает после, когда и нажмите кнопку первый раз –
В андроида я думаю, что вместо того, чтобы использовать тему его лучше использовать Handler с помощью метода postDelayed HTTP://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long) –
Могу ли я остановиться после запуска 1-го раза ?? и снова запустите .. –