Android Zxing 二维码添加闪光灯的功能

主要修改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" />

在CaptureActivity中监听

initTitle()方法中加入

flashImageButton = (ImageButton) findViewById(R.id.btn_flashlight);
		flashImageButton.setOnClickListener(new OnClickListener() {
			//监听闪光灯按钮
			@Override
			public void onClick(View v) {
				CameraManager.get().flashHandler();
			}
		});


ok 搞定!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。