2014-02-24 81 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()。

相关问题