當我按下這個按鈕:我不知道如何從循環中走出
case R.id.btlento:
Timer timers = new Timer();
timers.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
cameraOn();
},deloy1,poriod1);
Timer timers2 = new Timer();
timers2.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
cameraOff();
}
},deloy,poriod);
的方法cameraOn和cameraOff是:
private void cameraOff() {
// TODO Auto-generated method stub
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.release();
camera = null;
}
private void cameraOn() {
// TODO Auto-generated method stub
camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
}
和變量是:
int deloy = 2000;
int poriod = 2000;
int deloy1 = 1000;
int poriod1 = 2000;
這一切都是爲了讓相機閃爍閃爍,但我不知道如何打破循環,因爲永不停止。
如何停止循環?
看起來像你永遠不會關閉計時器? – Jake1164
爲什麼不使用'cancel()'來停止計時器? –
是的,它的確如此,但它從開頭再次開始 – user1918363