私は検索して検索しましたが、何が起こっているのかを完全に説明するものは何も見つかりませんでした. 基本的に、onKeydown イベントと onKeyUp イベントの両方が 2 回発生しています。Android 4.1 では問題はありませんが、この 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);
}