Enter键打开抽屉菜单(如何禁用)

时间:2017-02-03 13:16:41

标签: android barcode-scanner keyevent

我在条形码扫描APP中有一个MainActivty,问题是它不是我扫描条形码的地方,条形码阅读器总是处于活动状态。它是一个硬件扫描仪,它总是按下ENTER键结束它的序列。

Enter键按键适用于结束扫描的代码,但在我的MainActivity中,它会将焦点放在抽屉菜单上,如果我再次扫描,则按下菜单上的Enter键。

我试过这个:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){

    if(event.getKeyCode()== KeyEvent.KEYCODE_ENTER){
        Toast.makeText(getApplicationContext(),"Enter", Toast.LENGTH_LONG).show();
        return false;

    }
    return super.onKeyDown(keyCode, event);
}

问题是当我按ENTER

  • 第一次将焦点放在抽屉菜单上
  • 第二次打开抽屉菜单
  • 它第三次给我TOAST好像是一个ENTER点击?

知道为什么这种行为是这样的吗?以及如何解决它。

编辑:

在测试了一些之后,似乎我有一些错误,因为它没有触发KEY_DOWN事件?

KeyEvent: ACTION_UP but key was not down.
                                                                            in com.android.internal.policy.impl.PhoneWindow$DecorView{2e60fd4 V.E..... R....... 0,0-800,1280}
                                                                            0: sent at 247739000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ENTER, scanCode=28, metaState=0, flags=0x8, repeatCount=0, eventTime=247739, downTime=247637, deviceId=0,

0 个答案:

没有答案