2014-10-16 99 views
1

我知道在論壇有另一篇文章在這裏相同的主題,但我沒有解決我的問題,我試了一切,它不起作用。ZXing條碼掃描器閱讀巴西條碼

以下是我嘗試使用ZXing的barcodeScanner在我正在開發的android中讀取條形碼格式的交叉存取碼5,但它不起作用。掃描儀與屏幕上的紅燈保持一致,但根本沒有讀取條碼。

我使用的是「android-integration-2.3.0.jar」,從這裏下載http://mvnrepository.com/artifact/com.google.zxing/android-integration/2.3.0, ,但它根本沒有讀取我的條形碼。我敢肯定,問題不在於我的條形碼,它是這裏一家知名銀行的官方代表。 這是我一直跟着教程: http://techiedreams.com/android-zxing-barcode-scanner-integration/

不管怎麼說,讓我告訴你一些代碼:這是我如何調用barCodeScanner

ImageView的ivBarCode =(ImageView的)findViewById(R.id .ivPagamentosCodBar); ivBarCode.setOnClickListener(新View.OnClickListener(){

 @Override 
     public void onClick(View v) { 
      Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
      intent.putExtra("SCAN_FORMATS", "AZTEC,CODABAR,CODE_39,CODE_93,CODE_128,DATA_MATRIX,EAN_8,EAN_13,ITF,MAXICODE,PDF_417,QR_CODE,RSS_14,RSS_EXPANDED,UPC_A,UPC_E,UPC_EAN_EXTENSION"); 
      startActivityForResult(intent, 0); 
     } 
    }); 

,這是如何我讀的信息: 或者至少,認爲它應該工作:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
//  if (data == null) { 
//   ringProgressDialog.dismiss(); 
//   return; 
//  }else 
     if (requestCode==IntentIntegrator.REQUEST_CODE) 
     { 
      IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); 
      if (scanResult != null) 
      { 
       String codBar = scanResult.toString(); 
       Toast.makeText(PagamentosContas.this, codBar, Toast.LENGTH_LONG).show(); 
       Log.e("Código de Barras",codBar); 
       Log.e("Código de Barras",codBar); 
       Log.e("Código de Barras",codBar); 

      } 
      else 
      { 
       // else continue with any other code you need in the method 
       Toast.makeText(PagamentosContas.this, "scanResult is null.",  Toast.LENGTH_LONG).show(); 
      } 
    } 
//  else{ 
//  String valor = data.getStringExtra("valor"); 
//  valor = valor.replace(",", "."); 
// 
//  pagamento.setValorConta(valor); 
//  ThreadPagamentosContas thread1 = new ThreadPagamentosContas(); 
//  thread1.start(); 
//  ringProgressDialog.dismiss(); 
//  } 

    } 

它不」 T上讀任何條形碼可言,或者當它,這樣做不對,花了5交錯2由EAN3 ...

這裏是一個官方的條形碼的例子: https://drive.google.com/file/d/0ByQMtFUGwDRBWnZObkFBcDR1RVk/edit

在此先感謝。 這讓我瘋狂了好幾個月了...

+0

您是否嘗試過另一個條形碼用於測試?你確定攝像機的圖像有足夠的分辨率和對比度嗎?我會拍幾張條形碼,將它們保存爲圖像,並嘗試將它們送到zxing命令行,以查看它們是否因質量而失敗。 – Durandal 2014-10-16 14:40:50

+0

我已經嘗試了很多帶有優質相機的設備,甚至還有很差的相機。糟糕的相機根本沒有任何功能,並且具有優質相機的設備會讀取所有錯誤的條碼,甚至是格式類型。試過了,ZBar,FixBoletoFree,SDTBarcodeSDKForAndroid,都沒有實際的作品。我認爲也許我做錯了什麼,但是我正在按照所有這些工具的分步指南。沒有工作。 – 2014-10-16 15:48:52

回答

0

我發現了這個問題! 教程中的一切都是正確的,並且正常工作。 問題是我用於測試的所有設備的相機。

上週我有一個更好的智能手機,更好的資源,它讀條形碼就好了。 平板電腦通常沒有相機硬件中的自動對焦工具,因此無法正確對焦條形碼。