捕获Home键以及会遇到的bug

阅读更多
  // 屏蔽Home键
     @Override
     public void onAttachedToWindow() {
          this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
          super.onAttachedToWindow();
     }

  // 捕获home键
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
          switch (keyCode) {
          case KeyEvent.KEYCODE_HOME:
               finish();
          }
          return super.onKeyDown(keyCode, event);
     }

捕获Home键会引发一个Bug。捕获Home键的Activity会跟随最近跟它有关系的Activity的屏幕主题有关系,当它之前的Activity为全屏的时候,随之启动捕获Home键的Activity也变得全屏;反之,亦然。当出现这样的bug时,只需要将


@Override
     public void onAttachedToWindow() {
          this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
          super.onAttachedToWindow();
     }

”注释掉即可。

你可能感兴趣的:(Android,bug解决)