【问题标题】:BarCode Rearder Zxing条码阅读器 Zxing
【发布时间】:2012-06-28 19:57:08
【问题描述】:

我想扫描按钮单击上的二维码,问题是当我在设备上运行代码时,Activity Result 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);
     }

谢谢

【问题讨论】:

  • 你可能想看看这个,你可能需要添加更多参数来启动扫描:stackoverflow.com/a/4714083/67566
  • 我在没有使用 IntentIntegrator 的情况下执行此操作,因此不确定最好的方法。

标签: android


【解决方案1】:

你的代码有错误

你应该有

@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));
      }
    }
  }

您不会像onCreate 或onStart 那样覆盖onActivityResult

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

另外,如果您能提及integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES); 或integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);,那就太好了。

【讨论】:

  • integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES);给出错误它只接受活动名称
  • 我为此发疯了,然后你就@Overrride 发了帖子,非常有帮助,initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES); 工作正常,但请记住,当你提供参数时它不会返回任何内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
相关资源
最近更新 更多