0

ボタンのクリックで QR コードをスキャンしたいのですが、デバイスでコードを実行すると、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);
     }

ありがとう

4

1 に答える 1

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

あなたはonActivityResult好きなものを上書きしていないonCreateか、onStart

むしろ、最も一般的な間違いである通常の方法のように onActivityResult を書いています。

integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES);また、言及することができれば、integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);それは素晴らしいことです。

于 2012-06-28T11:08:48.787 に答える