Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java zxing库用于QR扫描的NullPointerException(android应用程序)_Java_Android_Qr Code_Zxing_Android Hardware - Fatal编程技术网

Java zxing库用于QR扫描的NullPointerException(android应用程序)

Java zxing库用于QR扫描的NullPointerException(android应用程序),java,android,qr-code,zxing,android-hardware,Java,Android,Qr Code,Zxing,Android Hardware,我的应用程序中需要一个独立的QR扫描仪,因此我将zxing库添加到我的Android应用程序中-我遵循了这一点-我在build.gradle中添加了依赖项,这就是我如何调用该方法的: btnScanQR.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new IntentIntegrator(MainScree

我的应用程序中需要一个独立的QR扫描仪,因此我将zxing库添加到我的Android应用程序中-我遵循了这一点-我在build.gradle中添加了依赖项,这就是我如何调用该方法的:

  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);
    }
}
所以基本上和他们的github页面完全一样,所以应该不会有任何问题,对吧

但是,当我试图通过我的应用程序打开扫描仪时,我出现了此错误,并且我似乎无法在线找到任何解决此问题的方法:

    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();

监控整合器=新的监控整合器(本);
积分器。设置方向锁定(错误);
integrator.initiateScan();

但我总是犯同样的错误!请提供帮助:(

此错误有以下两个原因: 1) 您尚未初始化摄像头:

mcamera = mcamera.open(); 
2) 您尚未在androidmanifest.xml文件中授予权限

 <uses-permission android:name="android.permission.CAMERA"/>


检查此项,我也遇到了同样的问题。如果插入此代码:
MobileBarcodeScanner.Initialize(应用程序)在MainActivity.cs中的onCreate中,您将能够毫无例外地访问摄像头。MobileBarcodeScanner.Initialize(应用程序);为我工作谢谢你,阿德里亚诺。somr线程表示ZXing.Net.Mobile.Forms.Android.Platform.Init();可以,但对我来说不适用2.4.1版