【发布时间】:2015-05-31 10:46:06
【问题描述】:
如您所见,我正在为具有 2 种闪烁模式的 android 制作手电筒(第一种将使 LED 不停闪烁,第二种将在闪烁之间暂停 0.5 秒),但使用我的代码它不起作用。这是我的代码:
private void turnOnFlash() {
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
params = camera.getParameters();
switch(mode) {
case 1:
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
break;
case 2:
timer = new CountDownTimer(1000, 500) {
@Override
public void onTick(long millisUntilFinished) {
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
}
@Override
public void onFinish() {
params.setFlashMode(Parameters.FLASH_MODE_OFF);
}
};
break;
}
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;
playSound();
toggleButtonImage();
}
}
以及检测模式的方法
tvMode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch(mode) {
case 1:
mode = 2;
tvMode.setText("2");
if(isFlashOn) {
turnOffFlash();
turnOnFlash();
}
break;
case 2:
mode = 1;
tvMode.setText("1");
if(isFlashOn) {
turnOffFlash();
turnOnFlash();
}
break;
}
}
});
}
【问题讨论】:
-
好吧,它不起作用。
-
对不起。应用程序将运行并且模式 1 有效,但是当我切换到模式 2 时,闪光灯就会关闭。我将编辑问题并发布用于检测模式的代码。
标签: android timer countdowntimer flashlight