onKeyDown()和onBackPressed()

时间:2017-10-25 13:18:47

标签: android onkeydown onbackpressed

我对onKeyDown()onBackPressed()的使用感到困惑。 这两种重写方法在功能和功能上都是相同的吗?用法? 如果不是这样,那么两者的正确用法是什么?

你可能会提到这个问题here,它要求提供实施的地方,但我要问的是为什么以及何时而不是在哪里。

1 个答案:

答案 0 :(得分:7)

<audio controls> <source src="/files/niro.mp3" type="audio/mpeg"> Your browser does not support the audio element. </audio> 可用于onKeyDown()设备上的任何硬件密钥,可以是电源按钮,后退按钮或音量按钮。

只有在按下后退按钮时才会调用

Android

以下是不同之处:

onBackPressed()

在此处查看@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // back was pressed return true; } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { // volume up was pressed } return super.onKeyDown(keyCode, event); } @Override public void onBackPressed() { // back was pressed } 的完整列表:

https://developer.android.com/reference/android/view/KeyEvent.html

如您所见,如果您想要检测背压,则更容易实施KeyCode