我已经实现了一些斑马线(zxing)代码,试图创建一个扫描某些条形码的Android应用程序。非常基本的东西。以下是我的代码的基础知识:
public void recognizeQRClick(View view) {
printingNewQR = false;
recognizingQR = true;
text1.setText("Recognize QR button clicked");
IntentIntegrator intentIntegrator = new IntentIntegrator(this);
intentIntegrator.initiateScan();
return;
}
@Override
public void onActivityResult (int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
String contents = scanResult.getContents();
if(printingNewQR) {
return;
} else if(recognizingQR){
displayQRInfo(contents);
}
text1.setText(contents);
}
break;
}
}
问题是,虽然扫描部分似乎有效(当点击相应的按钮时,应用程序会跳转到扫描屏幕,当条形码居中时,中心会出现一个小金点,表示扫描效果良好它永远不会完成。该应用程序只是保留在扫描屏幕中,一遍又一遍地扫描相同的条形码。我已经广泛搜索了这个问题并在几个实例中发现了类似的问题,但是一旦他们使用我正在做的IntentIntegrator类,他们的问题似乎总是被解决了。有什么问题?