2012-01-31 141 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>