我想区分键盘输入和条形码扫描仪输入。当条形码输入不专注于EditText
时,我可以捕获它。
override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
if (event?.action == KeyEvent.ACTION_MULTIPLE) {
// Barcode Scanner event
}
return super.dispatchKeyEvent(event)
}
但是,当焦点位于EditText
时,它仅调度KeyEvent.ACTION_UP
和KeyEvent.ACTION_DOWN
来按下扫描按钮。文本将直接写入EditText
。
我尝试扩展EditText
而不是dispatchKeyEvent
上的EditText
并覆盖Activity
上的KeyEvent.ACTION_MULTIPLE
,但是它仍然不会分派KeyEvent.ACTION_MULTIPLE
。
我想念什么吗? {{1}}在哪里消费?