如何处理相机闪光灯在应用程序的生命周期



我不知道如何处理相机闪光灯在我的应用程序。我的应用程序有一个打开和关闭相机闪光灯的按钮,一切正常,应用程序工作正常,即使按下后退按钮并返回应用程序,它也工作正常。

但是当我在应用程序运行时按HOME键,然后回到我的应用程序,当我按ON和OFF按钮时,它崩溃了(强制关闭)。我认为问题是在应用程序的生命周期,但我不知道如何解决它。

在onStop()方法中,我使用以下代码:
@Override
    protected void onStop() {
        super.onStop();
        if (camera != null) {
            camera.stopPreview();
            camera.release();
        }

并在onCreate()方法中使用以下代码打开flash:

                Parameters p = camera.getParameters();
                if (!isLightOn) {
                    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(p);
                    camera.startPreview();
                    isLightOn = true;
                                }

您需要覆盖您的活动的onResume方法。它可以像这样:

@Override
protected void onResume() {
    super.onResume();
    if(camera == null){
        camera = getCamera();
        try {
            SurfaceHolder holder = cameraPreview.getHolder();
            camera.setPreviewDisplay(holder);
            cameraPreview.setCamera(camera);
            holder.addCallback(cameraPreview);
            camera.startPreview();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新