Интеграция сканера штрих-кода Zxing в мое приложение для Android

Я пытаюсь интегрировать сканер штрих-кода в свое приложение для Android.

Вот что я сделал:

1) я добавил модуль core-3.2.1 в свой проект. 2) добавил активность

<uses-permission android:name="android.permission.CAMERA" />
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape" >
</activity>

Я получаю, что не могу разрешить символ «CaptureActivity». Что мне делать больше?

Я проверил другие сообщения stackoverflow, но я не могу это исправить.


person manish reddy    schedule 14.06.2016    source источник


Ответы (3)


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

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

compile 'com.google.zxing:core:3.2.1'
compile 'com.journeyapps:zxing-android-embedded:3.0.3@aar'

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

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

Пример проекта можно найти здесь

person Mithun Sarker Shuvro    schedule 14.06.2016
comment
Теперь это работает. Спасибо. Что делает setBeepEnabled. И в моем коде setBarcodeImageEnabled выделен красным цветом. Что делают эти оба метода? - person manish reddy; 14.06.2016
comment
setBeepEnabled означает, что каждый раз, когда вы сканируете штрих-код, ваш телефон будет издавать звуковой сигнал, а setBarcodeImageEnabled означает, что он будет захватывать изображение. Если вам это не нужно, вы можете закомментировать это . Если этот ответ работает для вас, пожалуйста, примите это как ответ. - person Mithun Sarker Shuvro; 14.06.2016

убедитесь, что вы используете данные зависимости в файле app.gradle, чем используете представление сканера для сканирования штрих-кода

dependencies {
    compile 'me.dm7.barcodescanner:zxing:1.8.3'
} 

ZXingScannerView mScannerView = new ZXingScannerView(this);
        Handler handlerThread = new Handler();
        handlerThread.post(new Runnable() {
            @Override
            public void run() {
                mScannerView.setResultHandler(new ZXingScannerView.ResultHandler() {
                    @Override
                    public void handleResult(Result result) {

                        Log.e(TAG, result.getText());


                    }
                });
            }
        });
person Divyesh Boda    schedule 14.06.2016

Убедитесь, что вы добавили ссылку на модуль в свой проект. 1) Создать -> Импорт нового модуля -> Выберите свою библиотеку zxing. Позвольте градиенту построить.

Затем перейдите в «Файл» -> «Структура проекта» -> «Выберите приложение в модулях» -> «Перейти на вкладку «Зависимости»» -> добавьте модуль zxing, нажав зеленую кнопку «Добавить».

Перестройте свой проект

person Dexto    schedule 14.06.2016