Я пытаюсь вызвать onKeyDown () моей основной деятельности с помощью KEYCODE_BACK, чтобы он вел себя так, как будто я сам нажал кнопку «назад». Я делаю это, используя следующий код:
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);
В данный момент onKeyDown () моей активности вызывает только:
return super.onKeyDown(keyCode, event);
Тем не менее, в отличие от кнопки real Back, когда вызывается «фальшивый» код, действие отказывается стать невидимым.
Почему?