1、打开后闪光灯
private Camera mCamera;
private void startBackFlash{
if(mCamera != null){
mCamera.release();
}
mCamera = mCamera.open();
mParams = mCamera.getParameters();
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(mParams);
}
2、打开前或者后闪光灯
private void startFlash(int i,Button btn){
if (mCamera != null) {
mCamera.release();
}
mCamera = mCamera.open(i);
mParams = mCamera.getParameters();
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(mParams);
}
i=1为前闪光灯
i=0为后闪光灯
3、关闭闪光灯
private void closeFlash(){
if (mCamera != null) {
mParams = mCamera.getParameters();
mParams.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(mParams);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
注:作为开发者必须要逻辑严谨,开发闪光灯的时候最好实在Activity的onPause()方法中释放Camera,不管你有没有打开它。
mCamera.release(); //Camera释放