Считывание значения с аппаратного сканера штрих-кода - PullRequest
0 голосов
/ 28 ноября 2018

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

В моей деятельности это две функции, которые у меня естьиспользуется для проверки нажатия клавиши, поскольку я предполагаю, что она обрабатывается как аппаратная клавиатура.

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    Log.v("KeyPressed", "here");
    return true;
}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    Log.i("KeyPressed", String.valueOf(event.getKeyCode()));
    return super.dispatchKeyEvent(event);
}

Журналы выглядят так:

2018-11-28 12:27:17.176 23132-23132/uk.wefix I/KeyPressed: 59
2018-11-28 12:27:18.158 23132-23132/uk.wefix I/KeyPressed: 71
2018-11-28 12:27:18.171 23132-23132/uk.wefix I/KeyPressed: 71
2018-11-28 12:27:18.171 23132-23132/uk.wefix V/KeyPressed: here

Однако я не уверен, какчтобы получить фактический контент, который отправляет сканер штрих-кода.Если бы я сфокусировался на вводе текста, я бы выглядел следующим образом 034234243423

Что позволило бы это сделать?

Заранее спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Это похоже на обработку ввода с клавиатуры, вам нужно преобразовать эти значения в символы.также лучше использовать его в onKeyDown() Используйте код ниже.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    char pressedKey = (char) event.getUnicodeChar();
    Barcode += "" + pressedKey;
    Toast.makeText(getApplicationContext(), "Data: " + Barcode, 1)
            .show();
    return true;
}
...