안드로이드 개발 질문/답변
(글 수 45,052)
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() 함수가 호출됩니다.
초심자라 어떻게 처리하면 좋을지 감이 잘 안 잡히네요...
같은 문제를 겪어보신분이나 계시면 도움을 받고 싶습니다.



