Подтвердить что ты не робот

QR-сканер внутри фрагмента

Я использую ViewPager для прокрутки между моими фрагментами. Можно ли интегрировать QR-сканер (zxing или любой другой) внутри фрагмента, чтобы я мог прокручивать от сканера View до другого фрагмента и наоборот?

Насколько я могу судить, большинству qr-сканеров требуется, чтобы я использовал расширенный класс Activity и запускал его для результата, обрабатывая его в onActivityResult, что не является для меня вариантом

4b9b3361

Ответ 1

barcodefragmentlib - это тот, который вы ищете. И его wiki показывает вам, как его интегрировать (хотя я использовал другой путь до выхода вики).

Однако после полной интеграции и решения всех проблем для нашего коммерческого приложения, мне кажется, что положить QR-сканер внутри фрагмента и переключиться с помощью ViewPager - это не очень хорошая идея. Некоторые из известных проблем с этой идеей и упомянутой мной библиотекой:

  • Частое переключение между фрагментом QR и другими фрагментами сделает ваше приложение лаггированным и легким сбой;
  • Замена фрагментов не так проста в обращении, как активность, QR-фрагмент еще хуже;
  • Обработка режима портретного/горизонтального сканирования по умолчанию недоступна (относится к оригинальной ZXing lib)
  • Когда вы сначала открываете QR-фрагмент, он может вычеркнуть ваш экран в течение очень короткого времени.
  • Сканер плохо работает на Galaxy S4 или других новых устройствах с камерой/дисплеем с более высоким разрешением.

Хотя эти проблемы, упомянутые выше, могут быть решены с определенными усилиями, это действительно компромисс.