我对onKeyDown()
和onBackPressed()
的使用感到困惑。
这两种重写方法在功能和功能上都是相同的吗?用法?
如果不是这样,那么两者的正确用法是什么?
你可能会提到这个问题here,它要求提供实施的地方,但我要问的是为什么以及何时而不是在哪里。
答案 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
。