在网上查的差不多就是两种方法
重写onAttachedToWindow,安卓4.0以上报错
重写onKeyDown,没用,根本监听不到home键
在2.3版本以下重写下面方法就能重写home键
1 public void onAttachedToWindow() { 2 this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 3 super.onAttachedToWindow(); 4 }
在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下:
1 public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志 2 public void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码 5 setContentView(R.layout.main); 6 }
再重写onKey事件即可
@Override public boolean onKeyDown( int keyCode, KeyEvent event) { if (keyCode == event. KEYCODE_HOME) { return true; } return super.onKeyDown(keyCode, event); }
本文介绍了在不同Android版本中重写Home键的方法。对于2.3版本以下,通过覆盖onAttachedToWindow方法实现;4.0以上版本则需设置窗口标志并重写onKeyDown方法来捕获Home键事件。
662

被折叠的 条评论
为什么被折叠?



