Codenameone 用于读取条形码的二维码阅读器库仅读取EAN13格式

Codenameone 用于读取条形码的二维码阅读器库仅读取EAN13格式,codenameone,Codenameone,我看过Steve刚刚修补的QRcode阅读器库(我非常感谢Steve和cn1团队),但发现了以下代码。提到了EAN13类型,因此条形码阅读器仅读取EAN13条形码。我需要读取移动设备的imei编号,我认为是code_128或code_39格式。因此,您可以让库读取其他格式的条形码。谢谢 if (qrCode) { intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE}); } else

我看过Steve刚刚修补的QRcode阅读器库(我非常感谢Steve和cn1团队),但发现了以下代码。提到了EAN13类型,因此条形码阅读器仅读取EAN13条形码。我需要读取移动设备的imei编号,我认为是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);
        }

    });
});
使用:

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");
使用:

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");

我已经试过了,但它只读取上面库代码中设置的EAN_13。请看上面问题中的更新代码…这里是lil monkey QRScanner git,它也在shannah的新补丁库中。我已经试过了,但它只读取上面库代码中设置的EAN_13。请看上面问题中的更新代码…这里是lil monkey QRScanner git,它也在shannah的新补丁库中。