Java zxing库用于QR扫描的NullPointerException(android应用程序)
我的应用程序中需要一个独立的QR扫描仪,因此我将zxing库添加到我的Android应用程序中-我遵循了这一点-我在build.gradle中添加了依赖项,这就是我如何调用该方法的: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
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版