Android 回车键打开抽屉菜单(如何禁用)

Android 回车键打开抽屉菜单(如何禁用),android,barcode-scanner,keyevent,Android,Barcode Scanner,Keyevent,我在条形码扫描应用程序中有一个主活动,问题是它不是我扫描条形码的地方,条形码阅读器总是处于活动状态。这是一个硬件扫描仪,它总是以回车键结束序列 回车键有助于结束扫描的代码,但在我的主要活动中,它会将焦点放在抽屉菜单上,如果我再次扫描,它会按菜单上的回车键 我试过这个: @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if(event.getKeyCode()== KeyEvent.KEYCODE_ENTE

我在条形码扫描应用程序中有一个主活动,问题是它不是我扫描条形码的地方,条形码阅读器总是处于活动状态。这是一个硬件扫描仪,它总是以回车键结束序列

回车键有助于结束扫描的代码,但在我的主要活动中,它会将焦点放在抽屉菜单上,如果我再次扫描,它会按菜单上的回车键

我试过这个:

@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键时

  • 第一次将焦点放在抽屉菜单上
  • 第二次打开抽屉菜单
  • 第三次,它给了我祝酒词,好像它是一个输入点击
你知道为什么会这样吗?以及如何修复它

编辑:

在测试了更多之后,似乎我有一些错误,因为它没有触发按键关闭事件

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,

再解释一下你的问题。如果您也可以共享屏幕截图,则更好。如果您已处理此事件,并且不希望其他人处理它,则返回
true
。主要问题是它没有将我的enter事件注册为enter事件。我想,不知何故,抽屉占据了焦点。将尝试拍摄一些屏幕截图。