【发布时间】:2020-08-18 16:59:12
【问题描述】:
美好的一天!我在使用我在项目中作为依赖项添加的库的 android marshmallow 和 nougat 中的 qr 代码扫描仪出现问题,相机显示白屏。代码在棒棒糖和奇巧中完美运行。请让我知道我是否遗漏了什么或者我会做些什么来让它发挥作用。我在下面粘贴了我的 sn-ps 代码。如果你给我一些时间来注意到我的担忧,我很高兴。我已经看到了与我的问题类似的主题,但它并没有帮助我解决问题,或者我执行错误。先感谢您。
我有用于生成二维码的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'
}
}
打开相机的Activity:
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);
}
}
【问题讨论】:
标签: android android-activity qr-code zxing