如何在activity中监听Home键

在AndroidManifest.xml中增加权限(2.1 / 2.2 / 貌似不用加了)
复制代码
在监听的Activity中复写onAttachedToWindow():
  1. @Override
  2.         public void onAttachedToWindow() {
  3.         this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
  4.                super.onAttachedToWindow();
  5.         
  6.         }
复制代码
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD)写上“破解”才会起作用,此处还有一个问题就是此方法在Activity失去焦点的时候(不知在onStop还是在onPause中)会被调用,到底是在哪一个方法中被调用没有去试。然后是监听,复写onKeyDown:
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {
  2.       
  3.                 if (keyCode == KeyEvent.KEYCODE_BACK ) { 
  4.                    dialog();
  5.                    return false; 
  6.                 } else if(keyCode == KeyEvent.KEYCODE_HOME){
  7.                         out();
  8.                         Intent intent = new Intent(Intent.ACTION_MAIN);
  9.                                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  10.                                 intent.addCategory(Intent.CATEGORY_HOME);
  11.                                 startActivity(intent);
  12.                         
  13.                 }
  14.         

  15.         return super.onKeyDown(keyCode, event);
  16.     }
复制代码

你可能感兴趣的:(如何在activity中监听Home键)