Я разрабатываю приложение для Android для сканирования QR-кодов, используя библиотеку zxing следующим образом:
Во-первых, интеграция библиотеки в Gradle:
implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
implementation 'com.google.zxing:core:3.3.0'
Во-вторых, активность вAndroidManifest.xml:
<activity
android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation" />
Затем код для сканирования QR-кода при нажатии кнопки:
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.setPrompt("Start scanning");
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setOrientationLocked(false);
integrator.initiateScan();
И, наконец, парсинг информации, полученной со сканера (Этоникогда не выполняется)
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Toast.makeText(getActivity(), "Cancelled", Toast.LENGTH_LONG).show();
} else {
String code = result.getContents();
textView.setText(code);
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
Камера открыта и выглядит как сканирующая, но не может обнаружить и прочитать QR-код, ничего не возвращает.