Android 覆盖主页按钮的功能

Android 覆盖主页按钮的功能,android,android-homebutton,Android,Android Homebutton,在安卓系统中,我可以很容易地覆盖“后退”按钮的功能,但对于我的应用程序,我需要覆盖“主页”按钮。我相信这是可以做到的,但我怎样才能做到这一点呢 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); } 然后 @Override public boolea

在安卓系统中,我可以很容易地覆盖“后退”按钮的功能,但对于我的应用程序,我需要覆盖“主页”按钮。我相信这是可以做到的,但我怎样才能做到这一点呢

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

@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;
} 

很抱歉,这是不可能的。请参阅链接:-

`

密钥代码常量:主密钥。此密钥由框架处理,并且从未交付给应用程序

同样,许多博客建议使用活动生命周期的onPause()方法,但这需要很多管理工作


我建议使用onUserLeaveHint()方法。

否!您不能覆盖系统阻止的android home key click事件,只有onStop方法会调用home key click事件。但当按下home按钮时,我想显示一个警报,我该怎么做。单击home key时,只有在活动顶部才会调用,因此,在停止时显示警报是不可能的。此方法已被弃用。但当指示灯熄灭时,将调用onPause,但我不想这样做。是的,我知道。但是大多数android博客建议使用onpause()方法。这很难管理。你能告诉我你到底想在home press上做什么吗?我想在按下home按钮并且应用程序未在后台运行时显示警报。请尝试使用onUserLeaveHint()。让我知道它是否适合你。