Попытка включить библиотеку сканера штрих-кода Zxing в мой проект Android, изменяя имя намерения - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь читать пользовательские коды QR с моим приложением, используя Zxing. Я добавил библиотеку в мой код. Теперь я могу вызвать функцию сканирования Zxing, и она запускает камеру, читает код qr.

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

Поэтому я изменил фильтр намерений в файле манифеста следующим образом:

from:
<action android:name="com.google.zxing.client.android.SCAN"/>
to:
<action android:name="com.google.zxing.client.android.SCANX"/>

А из своей деятельности я звоню:

        if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
            requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);
        } else {
            Toast.makeText(ctx, "test1",Toast.LENGTH_LONG).show();
        Intent intent = new Intent("com.google.zxing.client.android.SCANX");
        intent.putExtra("SCAN_FORMATS", "QR_CODE_MODE");
        startActivityForResult(intent, IntentIntegrator.REQUEST_CODE);
        //startActivityForResult(intent, 0);
        }

Тем не менее, он остается на странице результатов с такими опциями, как «поделиться по электронной почте», «поделиться через смс», «поиск» и т. Д. Я не хочу видеть эту страницу, я хочу получить код непосредственно в результат.

И если я верну строку намерений обратно в исходное состояние:

<action android:name="com.google.zxing.client.android.SCAN"/>

это работает.

Но я действительно хочу предотвратить конфликт и необходимость выбора пользователем приложения для сканирования. Как мне этого добиться?

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...