- 在Activity中监听或拦截返回键
- 重写dispatchKeyEvent()方法
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK){
Log.d("ansen", "KEYCODE_BACK");
}
return super.dispatchKeyEvent(event);
}
- 监听onKeyDown()或onKeyUp()方法,过滤KeyEvent.KEYCODE_BACK返回键的监听
如下方法中针对home键的监听是不生效的,当如下方法返回true或false,onBackPressed()方法不会执行
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
//返回键
Log.d("ansen","KEYCODE_BACK");
break;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return super.onKeyUp(keyCode, event);
}
- 重写返回键监听,注释super.onBackPressed()方法(页面不会执行返回操作)
@Override
public void onBackPressed() {
// super.onBackPressed();
}
- 在Window中监听或拦截返回键</