我进行了搜索和搜索,没有发现任何可以完全解释发生的事情。基本上 onKeydown 和 onKeyUp 事件都会触发两次。在 Android 4.1 中,我没有任何问题,但是这个客户升级到 Android 4.2.2 并且问题开始了。我在文档中找不到任何指示更改的内容,但我发现这是 Android 2.x 中的一个问题
public boolean onKeyDown(int keyCode, KeyEvent event) {
char pressedKey = (char) event.getUnicodeChar();
String TAG = null;
if (event != null && (event.getAction() == KeyEvent.ACTION_DOWN))
{
Log.d(TAG, "onKeyDown - keyCode = " + keyCode);
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
{
if(currentOrderLineDetailCollection.size()>0)
{
DisplayRemoveAlert(this);
}
}
default:
char stkeyCode = pressedKey;
UPCNum += stkeyCode;
}
}
if (UPCNum.length() >= 12) {
Bundle extras=getIntent().getExtras();
Intent intent1 = new Intent(OrderDetail_Activity.this, HandheldScanner_Activity.class);
intent1.putExtra("UPCNum", UPCNum.trim());
startActivity(intent1);
UPCNum="";
}
return super.onKeyDown(keyCode, event);
}