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);
        }

これら 2 つのメソッドとボタンがあり、ボタンを押してループを中断し、別の画面に移動するまで、両方のメソッドが毎秒ループで動作するようにします。これらのメソッドは、フラッシュのオンとオフを切り替えるためのものです。そのため、ボタンを押すまでフラッシュを常に点滅させたいと思っています。スレッドで試してみましたが、すべてのメソッドを 1 秒間だけ実行することはできません。誰かが私を助けてくれることを願っています。ありがとう!!

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 に答える