用于读取条形码的Qr代码阅读器lib仅读取EAN13格式

时间:2017-02-21 05:42:31

标签: codenameone

我看过史蒂夫修补的QRcode阅读器库(我非常感谢Steve和cn1团队),但发现了以下代码。提到了EAN13类型,因此条形码阅读器只读取EAN13条形码。我需要阅读imei no。移动设备,我认为code_128或可能是code_39格式。那么你可以让图书馆读取其他格式的条形码。三江源

    if (qrCode) {
        intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE});
    } else {
        intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.EAN13});
    }

更新1:

    scanBarButton.addActionListener(e -> {
    Display.getInstance().setProperty("android.scanTypes", "CODE_39;CODE_93;CODE_128");
    QRScanner.scanBarCode(new ScanResult() {
        public void scanCompleted(String contents, String formatName, byte[] rawBytes) {
            imeiTextArea.setText(contents);
        }

        public void scanCanceled() {
            Dialog.show("Cancelled", "Scan Cancelled", "OK", null);
        }

        public void scanError(int errorCode, String message) {
            Dialog.show("Error", message, "OK", null);
        }

    });
});

1 个答案:

答案 0 :(得分:0)

使用:

Display.getInstance()。setProperty(" android.scanTypes"," CODE_128");

可能的值包括:

"UPC_A", "UPC_E", "EAN_8", "EAN_13", "CODE_39", "CODE_93", "CODE_128", "ITF", "RSS_14", "RSS_EXPANDED", "QR_CODE" & "DATA_MATRIX"

请注意,您可以通过分号分隔多个类型,例如:

Display.getInstance().setProperty("android.scanTypes", "CODE_128;CODE_93");