2011-11-25 94 views
0

在我的應用程序中,如果用戶單擊主頁按鈕並希望維護活動堆棧,我想打開登錄屏幕。如何捕捉主頁按鈕被按下?

有沒有辦法做到這一點?

+0

你不能回到家按鈕單擊事件 –

+3

使命不可能。 –

回答

-5

出於安全原因,您無法捕獲主頁按鈕單擊事件。

但是,您可以通過覆蓋方法onNewIntent()來執行按Home按鈕所執行的操作。

3

沒有直接的方法來做同樣的事情。就像你無法獲得HOME鍵的KeyDown事件一樣。但我們可以得到捕獲的HOME鍵和下面的代碼

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

    super.onAttachedToWindow(); 
} 
+0

我還在尋找:: Upvote – Sameer

+0

有沒有其他的選擇 – Monali

+0

AFAIK主鍵是應用程序唯一的轉義點。所以我們無法得到具體的事件。你需要改變你的應用程序設計 –

0

其實你應該覆蓋到home鍵留在同一個屏幕上:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

    Intent new(this, login); 
    start(intent); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

KEYCODE_BACK是後退按鈕,而不是主頁按鈕。 – ggurov