激活闪存导致在Android应用程序中冻结相机

时间:2013-11-06 17:48:03

标签: android android-camera

我有一个小问题(或一个大的^^),我已经为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。

谢谢

1 个答案:

答案 0 :(得分:0)

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

Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
camera.setParameters(parameters);