Android Vision Api - 条形码格式

问题描述 投票:0回答:1

我已经关注了https://github.com/wax911/Vision-Barcode-Scanner/tree/master/barcode-reader/app/src/main/java/com/google/android/gms/samples这个git将 Vision api 实现到我的应用程序中。我可以成功检测条形码和二维码,但面临格式问题。以下是我的实现:

条码初始化:

 BarcodeDetector barcodeDetector = new BarcodeDetector.Builder(context).setBarcodeFormats(Barcode.QR_CODE |
                Barcode.DATA_MATRIX | Barcode.UPC_E | Barcode.UPC_A | Barcode.CODABAR).build();
        BarcodeTrackerFactory barcodeFactory = new BarcodeTrackerFactory(mGraphicOverlay, autoCapture ? this : null);
        barcodeDetector.setProcessor(
                new MultiProcessor.Builder<>(barcodeFactory).build());

条形码检测后,我试图识别检测到的格式。下面是代码

public void updateList(Detector.Detections<Barcode> barcodeList) {
    this.barcodeList = barcodeList;
    final SparseArray<Barcode> detectedItems = barcodeList.getDetectedItems();
    for (int i = 0; i < detectedItems.size(); i++) {
        Log.e("Value", "------>" + detectedItems.valueAt(i));
        final Barcode barcode = detectedItems.valueAt(i);
        final int value = detectedItems.valueAt(i).valueFormat;
        switch (value) {
            case Barcode.DATA_MATRIX:
                Log.i("Value", barcode.rawValue);
                break;
            case Barcode.QR_CODE:
                Log.i("Value", barcode.rawValue);
                break;
            case Barcode.CODABAR:
                Log.i("Value", barcode.rawValue);
                break;
            case Barcode.UPC_E:
                Log.i("Value", barcode.rawValue);
                break;
            case Barcode.UPC_A:
                Log.i("Value", barcode.rawValue);
                break;
            case Barcode.TEXT:
                Log.i("Value", barcode.rawValue);
                break;
        }
    }

    final String noItems = detectedItems.toString();
}

我的问题是每当我扫描二维码格式结果是“Codabar”而不是QRcode,每当我扫描条形码时格式化结果是“TEXT”而不是UPC_EUPC_A

请帮忙。

android barcode android-vision
1个回答
0
投票

您必须将条形码格式更改为 setBarcodeFormats(Barcode.ALL_FORMATS) 那么只有您可以使用所有格式。

© www.soinside.com 2019 - 2024. All rights reserved.