主要修改zxing中的.Zxing.camera 包下的CameraManager类
开关代码 在CamereManager中增加
//提供給其他activity調用
public void flashHandler() {
//camera.startPreview();
Parameters parameters = camera.getParameters();
// 判断闪光灯当前状态來修改
if (Parameters.FLASH_MODE_OFF.equals(parameters.getFlashMode())) {
turnOn(parameters);
} else if (Parameters.FLASH_MODE_TORCH.equals(parameters.getFlashMode())) {
turnOff(parameters);
}
}
//開
private void turnOn(Parameters parameters) {
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
}
//關
private void turnOff(Parameters parameters) {
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
}
通过imagebutton来调用
<ImageButton
android:id="@+id/btn_flashlight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#00000000"
android:src="@drawable/flashlight" />initTitle()方法中加入
flashImageButton = (ImageButton) findViewById(R.id.btn_flashlight);
flashImageButton.setOnClickListener(new OnClickListener() {
//监听闪光灯按钮
@Override
public void onClick(View v) {
CameraManager.get().flashHandler();
}
});ok 搞定!
原文:http://blog.csdn.net/whx405831799/article/details/41961771