当我按下这个按钮:我不知道如何从循环中走出
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