Я успешно использую 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
}
}
}
}