2017-08-31 130 views
0

美好的一天!我正在使用QR码扫描仪在android棉花糖和牛轧糖使用我已添加为我的项目中的依赖项库的相机显示白色屏幕的问题。代码完美地运行在棒棒糖和kitkat。请让我知道,如果有一些我错过了或我会做的事情,使其工作。我在下面粘贴我的代码片段。如果你给我一些时间来注意我的关注,我很高兴。我已经看到了类似的问题,但它没有帮助我解决问题,或者我错误地实施了它。先谢谢你。zxing二维码扫描仪相机显示白色屏幕

我已经斑马线罐子库用于生成QR码,并且我用me.dm7.barcodescanner:斑马线:1.8.4用于扫描QR码:

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

}

回答

0

你有没有在你的应用程序添加CAMERA权限检查?从棉花糖开始,你需要询问用户一些权限。

您可以先尝试从设备设置手动授予您的应用权限。

+0

感谢它现在的工作。 :)检查我的应用程序中的相机权限是我错过了。非常感谢。 – Jayrek