1

Как создать приложения для сканирования qrcode с помощью android 6? Android 6 использует android.hardware.camera2 для доступа к камере. Если мне нужно обновить всю библиотеку ZXING, которая займет очень много времени для новичков, подобных мне. Есть ли простой способ сделать это?android camera2 qrscanner qrcode scanner

+0

Что случилось с библиотекой ZXING? У меня работает Android 6, и все работает отлично. – Juvi

+0

У вас (и по расширению ZXing) все еще есть доступ к более старым API-интерфейсам камеры на Marshmellow. Почему бы не использовать это? – Anubis

+0

Я использовал Android-браузер Nexus 5X 6. Я использовал старый API android.hardware.Camera для доступа к камере. Он разбивает приложения. После использования нового API android.hardware.camera2 он отлично работает. Поэтому я больше не могу его использовать. –

ответ

1

Вы можете использовать стороннюю библиотеку под названием Zxing.

Вы можете добавить ZXing библиотеку в приложение через Gradle зависимости

просто добавьте в ваш build.gradle файл

compile 'com.google.zxing:core:3.2.1' 
compile 'com.journeyapps:zxing-android-embedded:[email protected]' 

Теперь в вашем OnCreate метод вашей активности, выполните следующие действия

IntentIntegrator scanIntegrator = new IntentIntegrator(MainActivity.this); 
scanIntegrator.setPrompt("Scan a Barcode"); 
scanIntegrator.setBeepEnabled(true); 
scanIntegrator.setOrientationLocked(true); 
scanIntegrator.setBarcodeImageEnabled(true); 
scanIntegrator.initiateScan(); 

Вы можете найти образец проекта here

+0

Я пробовал это. Он почти работает. ну, в основном потому, что есть исключения для ошибок, я думаю, что APP не ломается. В нем говорится: «Извините, у камеры Android возникла проблема. Возможно, вам потребуется перезапустить устройство. После этого я попытался запустить камеру (приложение для камеры из Google), и он отлично работает. Кроме того, я попробовал камеру с использованием camera2-basic, и она также отлично работает. –

+0

попробуйте добавить и установите целевую версию sdk на 22 –

+0

Это работает! Примечание. Я уже установил в манифесте разрешение . Он по-прежнему вызывает ошибку. После того, как я сменил целевой sdk с 23 на 22 на build.gradle, он работает. Почему это? И после этого я сменил целевой SDK с 22 на 23 снова. И APP тоже работает. Я могу использовать zxing для сканирования qrcode. Почему это? Это потому, что в моем проекте отсутствовало то, что не было создано IDE, когда я использую целевой SDK 23, и он был создан каким-то образом, когда я использую целевой SDK 22? Это решает мою проблему, спасибо, но она не отвечает на вопрос. –