버튼 클릭 다음 함수를 호출 중입니다.스레드에서 수면 문제
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 초 후 카메라의 색상 효과를 변경하기위한 것입니다. 관련 버튼을 처음으로 누르면 예상대로 작동합니다. 그러나이 함수에 대한 추가 호출은 예상대로 작동하지 않습니다. 즉, 두 번째로 2 초 동안 기다린 후 클릭 한 번에 값이 낮아집니다.
대신 사용하는 I 생각 스레드가 u는 안드로이드에서 버튼을 처음 –
을 클릭하면 후 지속적으로 실행되고 있기 때문에 스레드를 제어하는 플래그를 사용하십시오 ://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long) –
첫 번째 실행 후 중지 할 수 있습니까 ?? 다시 실행하십시오 .. –