private void initCamera(SurfaceHolder surfaceHolder) {
	try {
		CameraManager.get().openDriver(surfaceHolder);
	} catch (IOException ioe) {
		Log.w(TAG, ioe);
		displayFrameworkBugMessageAndExit();
		return;
	} catch (RuntimeException e) {
		// Barcode Scanner has seen crashes in the wild of this variety:
		// java.?lang.?RuntimeException: Fail to connect to camera service
		Log.w(TAG, "Unexpected error initializating camera", e);
		displayFrameworkBugMessageAndExit();
		return;
	}
	
	if (handler == null) {
		handler = new CaptureActivityHandler(this, decodeFormats, characterSet);
	}
}

private void displayFrameworkBugMessageAndExit() {
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
	builder.setTitle(getString(com.korea.smba.R.string.app_name));
	builder.setMessage("카메라 인식에 문제가 발생하였습니다. 디바이스를 재시작하여 주십시오");
	builder.setPositiveButton("확인", new FinishListener(this));
	builder.setOnCancelListener(new FinishListener(this));
	builder.show();
}




Zxing의 client.android 패키지에 있는 CaptureActivity 클래스 일부분입니다.


QR 리더를 구현 중인데 너무 높은 확률로(대략 30퍼센트 정도?) 위의 displayFrameworkBugMessageAndExit() 함수가 호출됩니다.


초심자라 어떻게 처리하면 좋을지 감이 잘 안 잡히네요...


같은 문제를 겪어보신분이나 계시면 도움을 받고 싶습니다.