3

我已经实现了一些斑马线 (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 类,他们的问题似乎总是得到解决。怎么了?

4

0 回答 0