参考了http://blog.csdn.net/eclipsexys/article/details/47834865
这篇文章实现android扫描二维码的功能,但是缺少闪光灯功能
图片在上面,两张一个是开灯,一个关灯(看不见,因为是白的)
在CameraManager.java中添加:
//闪光灯控制
public boolean flashControlHandler(){
Camera.Parameters parameters=camera.getParameters();
if(Camera.Parameters.FLASH_MODE_OFF.equals(parameters.getFlashMode())){
turnOn(parameters);
return true;
}
else if(Camera.Parameters.FLASH_MODE_TORCH.equals(parameters.getFlashMode())){
turnOff(parameters);
}
return false;
}
private void turnOn(Camera.Parameters parameters) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
}
private void turnOff(Camera.Parameters parameters) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
}
在CaptureActivity.java中调用并切换图片:
cameraFlashControl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cameraFlashControl();
}
});
//闪光灯控制
private void cameraFlashControl() {
//cameraManager.flashControlHandler();
if (cameraManager.flashControlHandler()) {
cameraFlashControl.setImageResource(R.drawable.qrcode_scan_btn_scan_off);
} else {
cameraFlashControl.setImageResource(R.drawable.qrcode_scan_btn_flash_nor);
}
效果图: