方式1 :重写onKeyDown()方法
示例代码1 :
判断被点击的是不是返回键
//监听返回键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { //是返回键
//具体事件逻辑
}
return super.onKeyDown(keyCode, event);
}
示例代码2 :
判断被点击的是不是返回键 ;并判断返回键被点击的状态,是单点还是长按
//监听返回键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { //是返回键
if (event.getRepeatCount() == 0) { //点了一次返回键(按下+弹起算是一次点击)
Log.e("abc", "点击了一次返回键");
return true;
} else { //点了多次返回键(按下后没有抬起--也就是长按)
Log.e("abc", "点击了返回键后没有抬起,此时关闭页面");
finish();
return false;
}
}
return super.onKeyDown(keyCode, event);
}
方式2 :重写onBackPressed 方法
@Override
public void onBackPressed() {
//具体事件逻辑
super.onBackPressed();
}