今天观察一个app,在有些activity的界面,软件是可以通过从下向上滑来把软件退到后台的,但进入有些界面后,activity 不在响应这种系统级的手势操作了,也就是说只能通过这个activity界面上设置的退出键才能退出软件。这个是怎么实现的?
重写onKeyDown()监听、屏蔽back键、home键
在Activity中重写onKeyDown(),代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Toast.makeText(MainActivity.this, "返回键无效", Toast.LENGTH_SHORT).show();
return true;//return true;拦截事件传递,从而屏蔽back键。
}
if (KeyEvent.KEYCODE_HOME == keyCode) {
Toast.makeText(getApplicationContext(), "HOME 键已被禁用...", Toast.LENGTH_SHORT).show();
return true;//同理
}
return super.onKeyDown(keyCode, event);
}