之前我也研究过以下这个问题。 onAttachToWindow()这个方法没记错的话好像只是2.3及以下吧。 4.0以后貌似没有好用的方法屏蔽home键。 在framework下的 PhoneWindowManager.java下这个地方是home键的处理。 @Override public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) { ... // First we always handle the home key here, so applications // can never break it, although if keyguard is on, we do let // it handle it, because that gives us the correct 5 second // timeout. if (keyCode == KeyEvent.KEYCODE_HOME) { ... } }这里可以在线浏览: https://android.googlesource.com/platform/frameworks/base/+/7d276c377ce0c56630c06a6da431a6cb9bd76d1e/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
onAttachToWindow()这个方法没记错的话好像只是2.3及以下吧。
4.0以后貌似没有好用的方法屏蔽home键。
在framework下的 PhoneWindowManager.java下这个地方是home键的处理。
@Override
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {
...
// First we always handle the home key here, so applications
// can never break it, although if keyguard is on, we do let
// it handle it, because that gives us the correct 5 second
// timeout.
if (keyCode == KeyEvent.KEYCODE_HOME) {
...
}
}这里可以在线浏览:
https://android.googlesource.com/platform/frameworks/base/+/7d276c377ce0c56630c06a6da431a6cb9bd76d1e/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java