在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方法比较好。