Android zxing二维码扫描仪摄像头显示白色屏幕

Android zxing二维码扫描仪摄像头显示白色屏幕,android,android-activity,qr-code,zxing,Android,Android Activity,Qr Code,Zxing,你好!我对android棉花糖和牛轧糖中的二维码扫描器有一个问题,它使用的是我在项目中作为依赖项添加的库。相机显示白色屏幕。代码在棒棒糖和kitkat中完美运行。请让我知道,如果有什么我错过了或我会做什么,使它的工作。我已将我的代码片段粘贴到下面。如果您能给我一些时间来关注我的担忧,我将不胜荣幸。我已经看到了我的问题类似的主题,但它并没有帮助我解决这个问题,或者我把它执行错了。先谢谢你 我有用于生成二维码的zxing jar库,我使用了me.dm7.barcodescanner:zxing:1.

你好!我对android棉花糖和牛轧糖中的二维码扫描器有一个问题,它使用的是我在项目中作为依赖项添加的库。相机显示白色屏幕。代码在棒棒糖和kitkat中完美运行。请让我知道,如果有什么我错过了或我会做什么,使它的工作。我已将我的代码片段粘贴到下面。如果您能给我一些时间来关注我的担忧,我将不胜荣幸。我已经看到了我的问题类似的主题,但它并没有帮助我解决这个问题,或者我把它执行错了。先谢谢你

我有用于生成二维码的zxing jar库,我使用了me.dm7.barcodescanner:zxing:1.8.4来扫描二维码:

dependency {
 compile fileTree(dir: 'libs', include: ['*.jar'])
 compile files('libs/zxing-2.1.jar')
 compile('me.dm7.barcodescanner:zxing:1.8.4'){
    exclude group: 'com.google.zxing'
   }
}
打开相机的活动包括:

public class ScanQRCodeActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
private String strDataEncrypted;
private ZXingScannerView mScannerView;
public static String strEncrypt;
public static String strEncrypted;
public static String strIV;
public static boolean isScanSuccess = false;

@Override
public void onCreate(Bundle state) {
    super.onCreate(state);
    mScannerView = new ZXingScannerView(this);
    setContentView(mScannerView);
}

@Override
public void onResume() {
    super.onResume();
    mScannerView.setResultHandler(this);
    mScannerView.startCamera();
}

@Override
public void onPause() {
    super.onPause();
    mScannerView.stopCamera();
}

@Override
public void handleResult(Result result) {
    strDataEncrypted = result.getText();
    Log.wtf("handleResult", strDataEncrypted);
    String[] strSplit = strDataEncrypted.split("\\|\\|");
    strEncrypted = strSplit[0].trim();
    strIV = strSplit[1];
    CryptLibHelper cryptLibHelper = new CryptLibHelper();
    cryptLibHelper.decrypt(strEncrypted, strIV, new CryptLibHelper.CryptLibDecryptCallback() {
        @Override
        public void onDecryptFailed(String str_message) {
            Log.wtf("onDecryptFailed", str_message);
        }

        @Override
        public void onDecryptSuccess(String str_message) {
            if (str_message.contains("}")) {
                strEncrypt = str_message.replace("}", "");
                Log.wtf("onDecryptSuccess", strEncrypt);
            }
        }
    });
    onBackPressed();
    isScanSuccess = true;
    mScannerView.resumeCameraPreview(this);
}

}

您是否在应用程序中添加了摄像头权限检查??从棉花糖开始,您需要向用户请求一些权限


您可以首先尝试通过设备设置手动授予应用程序权限。

我时断时续地遇到此问题,我的问题是我的应用程序请求相机权限太晚了!在创建ZXing qr扫描仪实例之前,请确保您的应用程序正在请求相机权限。。

谢谢,它现在正在工作。:)在我的应用程序中检查摄像头权限是我错过的。非常感谢。我已经在我的应用程序中有了摄像头权限,但仍然有相同的行为。试着在棒棒糖中运行你的代码,看看它是否工作。此外,如果您正在使用android 6.0或更高版本的设备测试代码,请转到“设置”>“应用程序”>“应用程序”,查看是否实际启用了应用程序的摄像头权限。如果您仍然面临类似的问题,那么您的代码中似乎一定有一些错误。此外,您还可以尝试上面的代码张贴在问题,因为它的工作。