假冒KeyEvent不能正常工作*就像"真实"按钮一样.为什么?

srf*_*srf 5 android keyevent back-button onkeydown onpause

我试图用KEYCODE_BACK调用我的主要活动的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);
Run Code Online (Sandbox Code Playgroud)

我的活动的onKeyDown()目前只调用:

return super.onKeyDown(keyCode, event);
Run Code Online (Sandbox Code Playgroud)

然而,与真正的 Back按钮不同,当调用"假"代码时,活动拒绝变得不可见.

为什么?