В моем приложении Xamarin.Android Я использую Bluetooth-сканер штрих-кода для сканирования штрих-кодов.
Сканер: NETUM 2D сканер штрих-кода
Насколько хорошо это работает.Я использую AlertDialog с EditText.Если EditText имеет фокус и сканер штрих-кода успешно считывает штрих-код, штрих-код + "\ n" записывается в EditText.
проблема: Если я не в EditText, где я хочу захватить штрих-код, и сканер штрих-кода успешно сканирует штрих-код, он просто вызывает щелчок по первому активируемому щелчком элементу в моей текущей операции или фрагменте.
Я могу поймать это с помощью DispatchKeyEvent
:
public override bool DispatchKeyEvent(KeyEvent e)
{
var keycode = e.KeyCode; // Keycode.Unknown from Scanner
return base.DispatchKeyEvent(e);
}
KeyCode Сканера-События всегда KeyCode.Unknown
.
Так что мой вопрос:
- как можно игнорировать KeyEvents с помощью
KeyCode.Unknown
. - Есть ли лучший способ отлавливать и игнорировать события от bluetooth-сканера.