Возможно ли настроить ZXing в Android для обработки нескольких QR-кодов без перезагрузки камеры? - PullRequest
1 голос
/ 16 октября 2011

Я успешно интегрировал сканер ZXing QR.Что я делаю, это повторяю сканирование, когда пользователь закончит сканирование 1 QR-кода.Проблема, с которой я столкнулся, заключается в том, что ZXing очень медленно загружает камеру, если я выполняю многократное сканирование QR-кодов этим методом.Есть ли лучшие способы?Я смотрю на сохранение всех сканирований без перезагрузки камеры (выключение и включение).

Я сканирую только свои собственные настроенные QR-коды, поэтому мне не нужно обрабатывать другие форматы.

Сканирование

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

Получение

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
    if (resultCode == RESULT_OK) {
        String contents = intent.getStringExtra("SCAN_RESULT");
        String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
        // Handle successful scan
        //..
        //Repeat scan for next QR code
        Intent i = new Intent("com.google.zxing.client.android.SCAN");
        i.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(i, 0);
    }
    else  {
        // Handle cancel
        //...
    }
}

1 Ответ

0 голосов
/ 16 октября 2011

ZXing не медлит при перезагрузке чего-либо - это время, необходимое драйверу камеры, чтобы инициализировать камеру. Там не так много способов обойти это. Но вы можете просто не закрывать камеру и продолжать предварительный просмотр, если хотите.

См. Режим массового сканирования приложения - оно уже может сканировать без остановки, чтобы показать результаты.

...