我在条形码扫描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
时知道为什么这种行为是这样的吗?以及如何解决它。
编辑:
在测试了一些之后,似乎我有一些错误,因为它没有触发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,