0
private void cameraOn() {
            // TODO Auto-generated method stub
            camera = Camera.open();
             parameters = camera.getParameters();
             parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
             camera.setParameters(parameters);
        }
private void cameraOff() {
            // TODO Auto-generated method stub
             parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
             camera.setParameters(parameters);
             camera.release();
             camera = null;
        }
@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent finis = new Intent (v.getContext(), MainActivity.class);
    startActivityForResult(finis, 0);
        }

我有这两种方法和按钮,我希望这两种方法每秒都在一个循环中工作,直到我按下按钮中断循环并转到另一个屏幕。这些方法用于打开和关闭闪光灯。所以我希望闪光灯一直闪烁,直到我按下按钮。我尝试使用线程,但我无法在一秒钟内完成所有方法的工作,所以我希望有人能帮助我。谢谢!!

4

1 回答 1

0

我敢肯定你可以使用某种计时器对象,但我会做类似的事情:

long lastTime = 0;
boolean torchIsOn = false;

long currentTime = System.currentTimeMillis();
if (currentTime - lastTime >= 1000) {
    if (torchIsOn) {
        cameraOff();
        torchIsOn = false;
    } else {
        cameraOn();
        torchIsOn = true;
    }
    lastTime = currentTime;
}

这只是我的想法,所以希望它有效。;)

于 2012-12-20T14:34:03.543 回答