2012-01-31 156 views
0

如何添加一个监听器到主页按钮?即我想在按下主页按钮时添加一些功能。我该怎么做? 我做了以下,但它不适用于主页按钮。它仅适用于后退按钮。如何添加一个监听器到主页按钮?

public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if (keyCode == KeyEvent.KEYCODE_BACK) 
     { 
        // some functionality 

    } 

    if (keyCode == KeyEvent.KEYCODE_HOME) 
    { 

     // some functionality 

    } 

    // // TODO Auto-generated method stub 
    return super.onKeyDown(keyCode, event); 

} 
+0

也许你可以在你的意图阐述。 :) – josephus 2012-01-31 11:06:57

+0

这个答案可以帮助你解决它http://stackoverflow.com/a/31340960/6649041 – Alex 2016-08-29 06:59:09

回答

0

你不能那样做。 Android政策禁止应用程序覆盖或收听主页按钮。
也许你可以通过覆盖onDetachFromWindow完成你想要的。

0

你不能,但你可以使用onPause()。当主页按钮被点击时,应用程序将暂停。

1

不这样做。它不正确,因为只有使用home按钮才能在任何时候退出应用程序。如果你想在离开一个活动时执行任何代码,你可以使用isFinishing()。看看this

0

如何添加一个监听器到主页按钮?

你不知道。 HOME按钮总是显示用户选择的主屏幕。您可以选择通过在活动中支持CATEGORY_HOME将您的应用程序设置为主屏幕,但最好将其作为主屏幕。

1

您必须先覆盖onAttachedToWindow()

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

此外,你需要添加的权限:

<uses-permission android:name="android.permission.DISABLE_KEYGUARD "></uses-permission>