您的位置:首页 > 其它

activity中捕获HOME按键

2011-06-02 09:22 113 查看
正常来说,在activity中是捕获不到HOME按键的,都被底层消化了。如果想在acivity中也能捕获HOME按键,可以通过如下方式:

在activity中重写如下方法:

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


将TYPE设为TYPE_KEYGUARD或TYPE_KEYGUARD_DIALOG。

然后在onKeyUp或onKeyDown方法中捕获HOME事件就行,如下:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_HOME){
//todo
}
return super.onKeyUp(keyCode, event);
}


如果捕获了之后又想不捕获了让拥有权还给底层,则可以再将TYPE设为:

TYPE_APPLICATION就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: