如何捕获Android中的主页按钮单击?

时间:2012-05-30 04:35:40

标签: android

从stackoverflow中的答案我发现Home按钮可以覆盖? 但我在Android市场上发现了一个名为“Mxplayer”的应用程序,您可以在播放视频时锁定所有按钮。他们是怎么做到的? 我们可以覆盖android中的主页按钮吗?

2 个答案:

答案 0 :(得分:12)

此解决方案最多可达2.3,

在您的活动

中覆盖以下方法
@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
}

现在处理这样的关键事件,

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

   if(keyCode == KeyEvent.KEYCODE_HOME)
    {
     Log.i("Home Button","Clicked");
    }
   if(keyCode==KeyEvent.KEYCODE_BACK)
   {

        finish();
   }
return false;

};

答案 1 :(得分:-1)

是的,你可以。使用以下代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        //do nothing
        return true;
    }
    return super.onKeyDown(keyCode, event);
}