二维码扫描集成Zxing后,无法实现重复扫描功能,试了几种方法,最后发现在扫描失败后用handler发送一个delay方法,重启camera就能实现
详见代码
//重新开始扫描
private void restartCarema() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (handler != null) {
handler.quitSynchronously();
handler = null;
}
CameraManager.get().closeDriver();
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.capture_preview);
SurfaceHolder surfaceHolder = surfaceView.getHolder();
initCamera(surfaceHolder);
}
},2000);
}