Zxing库支持Android中的条形码扫描

Zxing库支持Android中的条形码扫描,android,barcode,zxing,Android,Barcode,Zxing,有了Zxing库,我可以高效地扫描二维码,但我不能扫描条形码扫描。我做了很多RnD和不同的代码测试,但没有工作 所以,我的问题是— Zxing libs是否支持Android中的条形码扫描 如果支持,我应该使用不同的zxing库还是使用相同的库(QR_代码)库 有什么建议吗 Zxing库支持的代码- ZXING支持的条形码格式列表 1. QR_CODE 2. DATA_MATRIX 3. UPC_E 4. UPC_A 5. EAN_8 6. EAN_13 7. UPC_EAN_EX

有了Zxing库,我可以高效地扫描二维码,但我不能扫描条形码扫描。我做了很多RnD和不同的代码测试,但没有工作

所以,我的问题是—

  • Zxing libs是否支持Android中的条形码扫描

  • 如果支持,我应该使用不同的zxing库还是使用相同的库(QR_代码)库

  • 有什么建议吗

    Zxing库支持的代码-


    ZXING支持的条形码格式列表

    1.  QR_CODE
    2.  DATA_MATRIX
    3.  UPC_E
    4.  UPC_A
    5.  EAN_8
    6.  EAN_13
    7.  UPC_EAN_EXTENSION
    8.  CODE_128
    9.  CODE_39
    
    十,。代码93 11科达巴 12ITF 13RSS14 14PDF417 15RSS_扩展

    使用的代码快照-

    备选案文1-

    Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
                objIntent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
                objIntent.putExtra("SCAN_FORMATS", "CODABAR"); 
                startActivityForResult(objIntent, 0);
    
    备选案文2-

      Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
                objIntent.putExtra("SCAN_MODE", "PRODUCT_MODE""); 
                objIntent.putExtra("SCAN_FORMATS", "UPC_A"); 
                startActivityForResult(objIntent, 0);
    
    备选案文3-

      Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
                objIntent.putExtra("SCAN_MODE", "PRODUCT_MODE""); 
                objIntent.putExtra("SCAN_FORMATS", "UPC_A"); 
                startActivityForResult(objIntent, 0);
    
    备选案文4-

          Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
                objIntent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
                startActivityForResult(objIntent, 0);
    
    我只想扫描条形码而不是二维码-


    是的,ZXing-lib支持常规条形码。

    为什么不选择Zbar-library,这似乎更容易实现。 是的,但是如果你想喜欢Zxing的定制相机扫描仪,你必须定制扫描仪相机的表面,否则,它将满足你的要求

    如果您查看示例,您可以看到有两个功能,一个用于扫描二维码以及条形码。另一种是仅用于二维码

    // This will scan both
     public void launchScanner(View v) {
            if (isCameraAvailable()) {
                Intent intent = new Intent(this, ZBarScannerActivity.class);
                startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
            } else {
                Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
            }
        }
    
    
    //this will scan only qr code
        public void launchQRScanner(View v) {
            if (isCameraAvailable()) {
                Intent intent = new Intent(this, ZBarScannerActivity.class);
                intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE});
                startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
            } else {
                Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
            }
        }
    
    根据您的需要使用

    Zbar支持以下条形码:


    部分,EAN8,UPCEISBN10,UPCA,EAN13,ISBN13,I25,数据库,数据库,密码,代码39 PDF417,QRCODE,代码93,代码128

    ZXing支持多种条形码格式:UPC_A、UPC_E、EAN_8、EAN_13、CODE_39、CODE_93、CODE_128等

    使用ZXing最简单的方法是与他们提供的android集成,这也是一个很好的选择。我有一个演示如何以这种方式使用ZXing的示例。基本上,您需要这样做:

    private void scanBarcode() {
        IntentIntegrator integrator = new IntentIntegrator(getActivity());
        Collection<String> BARCODE_TYPES =
                Collections.unmodifiableCollection(Arrays.asList("UPC_A", "EAN_8", "EAN_13"));
        integrator.initiateScan(BARCODE_TYPES);
    }
    
    private void scanBarcode(){
    IntentIntegrator integrator=新的IntentIntegrator(getActivity());
    收集条码类型=
    集合。不可修改的集合(Arrays.asList(“UPC_A”、“EAN_8”、“EAN_13”);
    integrator.initiateScan(条形码类型);
    }
    
    如果你想直接使用它,那么最好是结帐。据我回忆,您要开始的是CaptureActivity


    也值得一试。

    ZXING支持的条形码格式列表1.QR_代码2.数据_矩阵3.UPC_E 4.UPC_A 5.EAN_8 6.EAN_13 7.UPC_EAN_扩展8.CODE_128 9.CODE_39 10.CODE_93 11.CODABAR 12.ITF 13.RSS14 14.PDF417 15.RSS_扩展解决了您的问题吗?