如何使手电筒在安卓中闪烁



从线程退出后,在我的代码中,闪光灯仍然亮着。我无法理解逻辑错误。如何在线程末端关闭闪光灯?

Thread thread = new Thread((new Runnable() {
@Override
public void run() {
SystemClock.sleep(200);
int led = 1;
while (blink_enabler) { 
if (led == 1) {
params = cam.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
cam.setParameters(params);
cam.startPreview();
led = 0;
} else {
params = cam.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
cam.setParameters(params);
cam.stopPreview();
led = 1;
}
SystemClock.sleep(1000);
}
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
cam.stopPreview();
}
}));

在 while 循环之后,在stopPreview()之前设置相机的参数:

params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
cam.setParameters(params);
cam.stopPreview();

最新更新