2012-11-29 79 views
1

我知道我無法像使用後退按鈕一樣覆蓋主頁按鈕。但是,如果按下主頁按鈕,android系統能否觸發事件?如果用戶按下主頁按鈕,我想捕獲此操作以顯示警告消息。我看着幾個選項,最明顯的一個,對於初學者會覆蓋home鍵當用戶按下主頁按鈕時通知

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     // action goes here 
    } else { 
     return super.onKeyDown(keyCode, event); 
    } 
} 

但這並不工作,我完全地意識到這一點。

當前的Activity完成後,將會調用onPause方法。當用戶在我的應用程序中更改Activity時,也會調用此方法。那麼無論如何,當他按下主頁按鈕時,我可以向用戶顯示一個通知框?

在此先感謝

+0

http://stackoverflow.com/questions/10869814/how-to-handle-home-button-in-android/13031697#13031697 – MKJParekh

回答

2

實際上,這是不可能趕上別人一樣home鍵按下事件,這是爲了保護用戶的特徵。

但是有一個黑客您的具體情況:

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

onAttachedToWindow

視圖連接到窗口

你可能這就是所謂的閱讀Activity Lifecycle這是怎麼回事k工作。

此外,here is the evidence它顯示此方法的工作原理。

2
@Override 
    protected void onUserLeaveHint() { 
     // TODO Auto-generated method stub 
     super.onUserLeaveHint(); 
    } 

這也可以幫助

相關問題