2016-06-07 2 views
0

내 앱에서 독립적 인 QR 스캐너가 필요하므로 Android 앱에 zxing 라이브러리를 추가했습니다. -이 코드를 따라했습니다. link - 빌드에 종속성을 추가했습니다. .gradle, 이것은 내가 메소드를 호출하는 방법입니다QR 스캐닝을위한 zxing 라이브러리가있는 NullPointerException

그래서 잘, 정확히 자신의 GitHub의 페이지처럼 기본적으로, 그래서 어떤 문제가 안
btnScanQR.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      new IntentIntegrator(MainScreenActivity.this).initiateScan(); // `this` is the current Activity 
     } 
    }); 

// Get the results: 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); 
    if(result != null) { 
     if(result.getContents() == null) { 
      Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); 
     } else { 
      Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show(); 
     } 
    } else { 
     super.onActivityResult(requestCode, resultCode, data); 
    } 
} 

? 나는 내 응용 프로그램을 통해 스캐너를 열려고하면

그러나,이 오류가 발생, 나는이 정확한 문제에 대한 온라인 어떤 해결책을 찾을 수 없습니다 :

CameraInstance: Configuring camera 
    W/CameraManager: Failed to set rotation. 
    W/CameraManager: Camera rejected even safe-mode parameters! No configuration 
    E/CameraInstance: Failed to configure camera 

java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference 
                     at com.journeyapps.barcodescanner.camera.CameraManager.setParameters(CameraManager.java:353) 
                     at com.journeyapps.barcodescanner.camera.CameraManager.configure(CameraManager.java:139) 
                     at com.journeyapps.barcodescanner.camera.CameraInstance$4.run(CameraInstance.java:171) 
                     at android.os.Handler.handleCallback(Handler.java:739) 
                     at android.os.Handler.dispatchMessage(Handler.java:95) 
                     at android.os.Looper.loop(Looper.java:148) 
                     at android.os.HandlerThread.run(HandlerThread.java:61) 
    D/CameraPreview: pause() 
    D/CameraInstance: Closing camera 
    D/CameraPreview: pause() 

이의 원인은 무엇 (회전하지 못하기 때문입니까?) 어떻게 해결할 수 있습니까? 나는 그것과 함께 zxings github 페이지에서 말하는 것처럼 방향을 바꾸려고 노력했다.

<activity 
    android:name="com.journeyapps.barcodescanner.CaptureActivity" 
    android:screenOrientation="fullSensor" 
    tools:replace="screenOrientation" /> 


IntentIntegrator integrator = new IntentIntegrator(this); 
integrator.setOrientationLocked(false); 
integrator.initiateScan(); 

나는 계속 같은 오류가 발생한다! 도와주세요 :(

+0

이 내용을 확인하십시오. https://github.com/dm77/barcodescanner – dindinii

+0

동일한 문제가있었습니다. _MainActivity.cs_에서 _onCreate_에 'MobileBarcodeScanner.Initialize (Application); 을 삽입하면 예외없이 카메라에 액세스 할 수 있습니다. – Adriano

답변

1

이 오류에 대한 두 가지 이유 다음은 1) 초기화하지 않은 카메라 :

mcamera = mcamera.open(); 

2)의 AndroidManifest.xml 파일에 권한을 부여하지 않은합니다.

<uses-permission android:name="android.permission.CAMERA"/> 
관련 문제