如何在Android中控制主页按钮?

时间:2011-03-21 10:41:13

标签: android

我在我的应用程序中,我有控制后退按钮,但我也想控制主页按钮。我写了代码,但我无法控制HOME按钮。这是我的代码。帮助我实现它。

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
  if (keyCode == KeyEvent.KEYCODE_BACK ) 
  {
    return false;
  }
  else if (keyCode == KeyEvent.KEYCODE_HOME)
  {
    return false;
  }
  return super.onKeyDown(keyCode, event);    
}

3 个答案:

答案 0 :(得分:7)

您无法覆盖主屏幕功能,此功能可让应用程序将用户锁定在手机外。

答案 1 :(得分:3)

此解决方案适用于2.1,

好吧,这应该是一个难题。但这是破解它的一种方法。

在您的活动

中覆盖以下方法
@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;

};

答案 2 :(得分:2)

根据Android核心概念,任何应用程序都不能改变Home按钮的行为。

这可能无法实现您的目标。

修改

您可以尝试对一个Home Screen Launcher进行编码,这样当用户按下主页按钮时,他们就可以转到您的Home Launcher。