我正在尝试使用 KEYCODE_BACK 调用我的主要 Activity 的 onKeyDown(),这样它的行为就像我自己按下“后退”按钮一样。我使用以下代码执行此操作:
KeyEvent goBackDown = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK,0,0);
goBackDown.dispatch(activity);
SystemClock.sleep(50); // as if human pressed the key
KeyEvent goBackUp = new KeyEvent(0,0,KeyEvent.ACTION_UP,KeyEvent.KEYCODE_BACK,0,0);
goBackUp.dispatch(activity);
我的 Activity 的 onKeyDown() 目前只调用:
return super.onKeyDown(keyCode, event);
然而,与真正的后退按钮不同,当调用“假”代码时, Activity 拒绝变得不可见。
为什么?
最佳答案
使用
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK));
关于android - 假 KeyEvent 不能*完全*像 "real"按钮一样工作。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751486/