0

我有一个小问题(或一个大 ^^),我为一个 android 应用程序创建了一个自定义相机活动,当我尝试激活闪光灯时,视图被冻结:(,但是当活动启动时一切都很好.

这是我激活闪光灯的方法

if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
        FlashActivation.setVisibility(View.VISIBLE);
        FlashActivation.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if (inPreview) {
                    camera.stopPreview();
                }

                // NB: if you don't release the current camera before
                // switching, you app will crash
                camera.release();
                camera = Camera.open(currentCameraId);
                Parameters p = camera.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_ON);
                camera.setParameters(p);
                camera.startPreview();

            }
        });
    }

如果有人能解决这个问题,我很高兴接受他的解决方案:D。

谢谢

4

1 回答 1

0

如果要激活 flash 则无需停止预览并重新启动。而且也没有必要释放相机。你可以用这个

Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
camera.setParameters(parameters);
于 2013-11-08T11:58:57.397 回答