在Android系统中用来显示界面的组件(Component)为Activity,也就是说只有重写Activity的onKeyDown方法来监控/拦截/屏蔽系统的返回键(back)、菜单键(Menu)及Home键
1、拦截/屏蔽返回键、菜单键实现代码:
2、拦截/屏蔽系统Home键:
为什么必须重写onAttachedToWindow(),看看下面的代码就知道了
(注:此代码位于/frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java 1000行左右)
当然,重写View的onKeyDown也可以实现,但View如果没有获得焦点,那就不能监控/拦截返回键、菜单键和Home键,所有还是重写Activity的onKeyDown方法比较好。