Android: сканирование штрих-кода zxing успешно, но не возвращается из активности

Я успешно использую zxing для сканирования кодов, вызывая намерение установленного считывателя штрих-кода, но когда он издает звуковой сигнал и указывает на хорошее сканирование, я ожидаю, что действие zxing вернет управление, чтобы я мог обработать результат , но он сидит там и снова пытается сканировать. Я должен нажать кнопку «Назад» и , затем он возвращается, и я могу сделать следующий шаг. Есть ли какой-то очевидный флаг, который мне не хватает, когда я вызываю сканер?

С благодарностью приму любые советы. Большое спасибо.

Вот мой код:

public boolean onTouchEvent(final MotionEvent event) {

    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);

    return true;
    }

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

    super.onActivityResult(requestCode, resultCode, intent);

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

            // Handle successful scan

            String s = "http://www.google.com/search?q=";
            s += contents;
            Intent myIntent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(s));
            startActivity(myIntent1);
            }
        else 
            if (resultCode == RESULT_CANCELED) {
                // Handle cancel
                }
            }
        }
    }
12
задан Barry 13 June 2012 в 13:23
поделиться