【发布时间】:2017-09-25 03:06:14
【问题描述】:
起初我在活动中对 onBackPressed 进行了覆盖。我可以使用此方法正确捕获后退按钮按下事件。后来,为了检测音量按钮的按下和释放动作,我实现了onKeyDown和onKeyUp方法。然后我发现无论我从 onKeyDown 和 onKeyUp 返回 true 还是 false,onBackPressed 方法都不会被触发。有谁知道如何使 onBackPressed 和 onKeyDown,OnkeyUp 全部被调用?非常感谢任何帮助!
【问题讨论】:
-
看dispatchKeyEvent 相信你忘了加
default: return super.dispatchKeyEvent(event); -
你是完全正确的。 dispatchKeyEvent 解决了我的问题。我过去默认返回的是 super.onKeyUp(keyCode, event) 和 onKeyDown(keyCode, event) ,它们不会将事件传递给 onBackPressed 方法。
-
我认为您可以在答案区发布您的答案,这样我就可以将其标记为我接受的答案。
标签: android onkeydown onkeyup onbackpressed