2012-02-01 210 views
1

我想在其中用户从产品扫描条形码,然后在Android手机会显示有关产品(从数据库)的一些细节的应用程序。 我已经安装了Android手机,我在调试时使用我的应用程序在斑马线条形码扫描器。当我使用ZXing应用程序时,它扫描条形码。 但是,当我从我用下面的代码,我在这里另一篇文章中发现的Android项目打开斑马线,它不会扫描barcode.I可以看到我的手机的摄像头的红线,但它并没有显示绿点读''条形码。条码扫描仪的Android犯规扫描

Calling barcode scanner on a button click in android application

为什么会这样呢? 在此先感谢

回答

1

尝试下面的代码。 它是我自己使用它的工作代码。

public class MyTestActivity extends Activity { 
    @Override 
     public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
    Button b = new Button(this); 
    b.setText("Scan"); 
    b.setWidth(100); 
    LinearLayout ll = new LinearLayout(this); 

    b.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
      startActivityForResult(intent, 0); 
     } 
    }); 

     ll.addView(b); 
     setContentView(ll); 

    } 

    public void onActivityResult(int requestCode, int resultCode, Intent intent) { 

//  IntentResult scanResult = IntentIntegrator.parseActivityResult(
//     requestCode, resultCode, intent); 

     if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 
       String contents = intent.getStringExtra("SCAN_RESULT"); 
       String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 

       Dialog d = new Dialog(this); 
       LinearLayout ll = new LinearLayout(this); 
       TextView tv = new TextView(this); 
       tv.setText(contents+" "+format); 
       ll.addView(tv); 
       d.setContentView(ll); 
       d.show();   
      } 
     } 
    } 
     } 

希望它有助于

+0

它应该只是没有摄像头权限相同。由于您正在通过intent启动Zxing活动,并且它使用相机处理所有事情,所以只有Zxing应用程序需要保持CAMERA权限。 – FoamyGuy 2012-02-02 00:14:21

+0

仅供参考甚至zxing的androidtest示例包在清单文件中都有权限。 – 2012-02-02 00:21:09

+0

是的,的确,它的工作没有这个权限集。我仍然用它作为预防措施。 :) – 2012-02-02 00:29:33

0

谢尔盖,上面的代码将工作对于QR码,不适用于条形码,您是否测试过条形码?

请让我知道任何人与斑马线LIB条码工作。

0

我有同样的问题,要解决改变

intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 

intent.putExtra("PRODUCT_MODE", "QR_CODE_MODE");