Camera setParameters(), getParameters(),unlock()三个方法之间的限制关系

Camera mCamera = Camera.open();

// 第一次调用getParameters()需要在unlock()方法之前否则出现错误
 Camera.Parameters parameters = mCamera.getParameters();

//开启闪光灯
 parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);


// 第一次获取的 parameters 可以在unlock()方法之前直接使用
 mCamera.setParameters(parameters);

 mCamera.unlock();

// 调用unlock()方法之后,如果需要调用setParameters()方法需要重新调用getParameters()获取//parameters否则报错 设置setParameters 失败
 parameters = mCamera.getParameters();

//关闭闪光灯
 parameters.setFlashMode(Parameters.FLASH_MODE_OFF);

// 调用unlock()方法之后,如果需要调用setParameters()方法需要重新调用getParameters()获取//parameters否则报错 设置setParameters 失败
 mCamera.setParameters(parameters);
原文地址:https://www.cnblogs.com/ldq2016/p/6340437.html