Как прочитать штрих-код в приложении .Net MAUI с помощью сканера штрих-кода на устройстве Android (а не в камере)?

Меня попросили рассмотреть возможность замены текущего программного обеспечения и устройств для портативных устройств клиента (Windows CE 7) на Android (например, Tera P172 +, который также используется на мобильных телефонах компании). В настоящее время я хочу иметь возможность использовать сканер штрих-кода, а не камеру, но могу рассмотреть возможность использования любого из них с настройкой, чтобы определить, какой из них использовать. Я хочу использовать .Net MAUI, но не совсем уверен, как лучше всего читать штрих-код. Это будет только для определенных страниц, где будет запрашиваться штрих-код, дождитесь штрих-кода, прежде чем двигаться дальше. Я видел статьи об использовании BroadcastReceiver, но не совсем уверен, как его использовать и подключать к необходимым представлениям/всплывающим окнам?

Любая помощь приветствуется...

Аде

Я пробовал использовать BroadcastReceiver, но не могу найти правильный IntentFilter и KeyValueName?

Вы хотите, чтобы сканер штрих-кодов был подключен к вашему настольному приложению для сканирования штрих-кодов?

FreakyAli 08.05.2024 13:27

Большинство аппаратных сканеров действуют как клавиатуры, то есть при сканировании они просто отправляют вводимые данные в любое приложение, находящееся в фокусе. Если бы на вашей странице было поле ввода, имеющее фокус, тогда сканер направит туда вводимые данные.

Jason 08.05.2024 13:37

Какой сканер штрих-кода вы пытаетесь использовать? Сканер должен иметь некоторую документацию о том, как получить штрих-код. Увидев, что вы упомянули BroadcastReceiver, как вы пришли к решению попробовать его использовать (действительно существуют встроенные сканеры, которые используют braodcast для получения штрих-кода, но есть также отдельная документация о том, как его прослушивать)

tyczj 08.05.2024 14:37
0
3
287
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Взгляните на этот пакет здесь.

Zxing предлагает встроенный сканер штрих-кода с прямой трансляцией с камеры или вообще открывает отдельное занятие.

Документация доступна здесь.

https://github.com/Redth/ZXing.Net.Maui

ОБНОВЛЯТЬ

Тогда, вероятно, это то, что вы ищете.

https://github.com/zebra-technologies/Scanner-SDK-for-Android

Поддерживает ли это настоящий сканер штрих-кода, а не только камеру?

Adrian Loughman 08.05.2024 13:14

это настоящий сканер штрих-кода. Посмотрите поддерживаемые форматы штрих-кодов здесь: github.com/Redth/ZXing.Net.Maui/blob/main/ZXing.Net.MAUI/…

Dan Gerchcovich 08.05.2024 13:15

Спасибо за помощь, Дэн. Я имею в виду, что в устройстве установлен сканирующий модуль Zebra SE4710. Спасибо

Adrian Loughman 08.05.2024 13:18

Ах, ок, я понимаю, что вы имеете в виду под «Не камера». Итак, сканер выглядит так? tera-digital.com/products/mobile-computer-android-scanner-p1‌​72

Dan Gerchcovich 08.05.2024 13:21

Ага :) Я пробовал использовать широковещательный приемник, но далеко не ушёл. Не уверен, что использовать в качестве действия для IntentFilter или как получить данные штрих-кода из намерения. Спасибо..

Adrian Loughman 08.05.2024 13:33
Ответ принят как подходящий

Спасибо. У меня было неправильное имя IntentFilter и KeyValue, чтобы получить штрих-код из намерения.

public class MainActivity : MauiAppCompatActivity
{
    private readonly BroadcastReceiver _barcodeReceiver = new BarcodeBroadcastReceiver();

    protected override void OnResume()
    {
        base.OnResume();
        RegisterReceiver(_barcodeReceiver, new IntentFilter("com.scanner.broadcast"));
    }

    protected override void OnPause()
    {
        UnregisterReceiver(_barcodeReceiver);
        base.OnPause();
    }
}
public class BarcodeBroadcastReceiver : BroadcastReceiver
{
    public override async void OnReceive(Context context, Intent intent)
    {
        var barcode = intent.GetStringExtra("data");

    }
}

Другие вопросы по теме