2014-02-24 106 views
1

嗨,我需要在活動關閉後運行一些代碼行,但在新活動啓動時不會運行。我怎樣才能做到這一點?我試過onStop(),onPause()onDestory(),但所有這些在開始新的意圖時也運行代碼。我只希望代碼在按下後退按鈕或應用程序關閉時運行。有什麼建議麼?當活動關閉時運行代碼

回答

0

對於後退按鈕,您可以覆蓋onBackPressed

如果您想知道您的應用是否在onDestroy中關閉,您可以使用this.isFinishing()(返回布爾值)進行檢查。

0

您可以覆蓋Activity所提供的onBackpressed()方法,以實現您想要的效果。

+0

多數民衆贊成在偉大的但當你完全關閉應用程序進入任務管理器? – user3344756

+0

Theres真的沒什麼可以做的。主要是因爲你不能保證onDestory將被調用。 – JoxTraex

2

如果你想趕上後退按鈕,比它添加到你的活動(API):

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // your code 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

由於API 5級,你也可以使用onBackPressed()

如果您的活動由於其他原因進入背景,則應調用onPause()。您可以檢查實例是否被殺死,例如由任務經理通過呼叫isFinishing()。如果再次涉及到前景,則調用onResume()。

相關問題