条形码阅读器Zxing

时间:2012-06-27 11:37:23

标签: android

我想在按钮上扫描QR码点击,问题是当我在我的设备上运行代码时活动结果Intent变量总是返回0.

我如何知道条形码阅读器是否有效?我目前在设备的屏幕上看到黄点。

这是我的代码:

private OnClickListener scanner = new OnClickListener() {
    public void onClick(View v) {
        IntentIntegrator.initiateScan(BarCodeScannerActivity.this);
    }
}; 

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
     IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
     if (scanResult != null) {
           // handle scan result
           String s = "http://www.google.com/search?q=";
           s += scanResult.getContents();

           Intent myIntent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(s));
           startActivity(myIntent1);
     }

由于

1 个答案:

答案 0 :(得分:2)

代码中有错误

你应该

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if (result != null) {
      String contents = result.getContents();
      if (contents != null) {
        showDialog(R.string.result_succeeded, result.toString());
      } else {
        showDialog(R.string.result_failed, getString(R.string.result_failed_why));
      }
    }
  }

您并未覆盖onActivityResultonCreate

onStart

相反,你正在写onActivityResult,就像普通方法一样,这是最常见的错误。

另外,如果您可以提及integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES);integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);,那就太棒了。