我的android應用程序是一個客戶端,當有人點擊主頁按鈕時,我想發送一條消息到服務器,當用戶更改回應用程序時,我也想發送一條消息給服務器。如果我可以覆蓋HOME按鈕keyEvent或任何將被調用的方法只有當應用程序將被置於後臺時,我可以發送消息並設置一個靜態變量在一個單獨的onStart()將被檢查,所以基本上我只需要以某種方式「覆蓋」HOME按鈕。 我試過如下:主頁按鈕前的方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
//...
return true;
}
return super.onKeyDown(keyCode, event);
}
它根本不起作用。我在其中放置了一個斷點,但HOME按鈕根本不會觸發此方法。 (三星Galaxy Ace,android 2.2.1)。
我也試圖overrite的onUserLeaveHint()
這樣的:
@Override
protected void onUserLeaveHint() {
//...
super.onUserLeaveHint();
}
但問題是,這種方法被稱爲不僅當我按下HOME鍵或應用程序被中斷,但是當我剛導航到其他活動(並完成當前活動)。 有沒有解決這個問題的方法?
嘗試重寫您MainActivity的的onPause()。 – Pavlos