Я вызываю следующую функцию, чтобы начать сканирование QR-кода с моего Activity
, который имеет DecoratedBarcodeView
в макете.
private void openBackCamera() {
captureManager = new CaptureManager(this, decoratedBarcodeView);
captureManager.initializeFromIntent(getIntent(), savedInstanceState);
captureManager.decode();
CameraSettings cameraSettings = decoratedBarcodeView.getBarcodeView().getCameraSettings();
cameraSettings.setAutoFocusEnabled(false);
cameraSettings.setFocusMode(CameraSettings.FocusMode.CONTINUOUS);
cameraSettings.setRequestedCameraId(Camera.CameraInfo.CAMERA_FACING_BACK);
decoratedBarcodeView.pause();
decoratedBarcodeView.getBarcodeView().setFrameRectColor(Color.WHITE);
decoratedBarcodeView.getBarcodeView().setFramingRectSize(getSize());
decoratedBarcodeView.getViewFinder().setVisibility(View.VISIBLE);
decoratedBarcodeView.decodeSingle(mBarcodeResult);
decoratedBarcodeView.resume();
}
по умолчанию сканирует все виды штрих-кодов, и я хочу ограничить его QR-кодами.
Я попытался добавить следующие строки для запуска, чтобы они могли использоваться captureManager
, когда я инициализирую его с getIntent()
безрезультатно.
intent.putExtra(Intents.Scan.MODE, Intents.Scan.QR_CODE_MODE);
intent.putExtra(Intents.Scan.FORMATS, "QR_CODE");
Как я могу ограничить мои настройки сканированием только QR-кодов?