首页 > 代码库 > Android 随时销毁一个Acitivity

Android 随时销毁一个Acitivity

根据Activity的生命周期,当启动一个新的Activity时,原有的Activity如果没有调用finish()方法,会通过onPause()方法压入堆栈,新的Activity结束时,该旧Activity会通过onResume()方法直接响应到最前端。

 

有时会有这样的需求,新Activity启动时,并不希望彻底结束旧的Activity,而是当新的Activity结束时,希望连同旧的Activity一同结束。这就涉及到随时关闭一个Activity的问题范畴了。刚刚实验了网友提供的方法,效果不错。


首先需要在希望延迟关闭的Activity中定义一个全局对象instance,示例如下:

 

public class MyActivity extends Activity {
<span style="white-space:pre">	</span>publicstatic StepStart instance = null;
<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>public void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre">		</span>instance= this;
<span style="white-space:pre">	</span>}
}


当希望彻底关闭MyActivity时,按照如下方式调用finish()方法即可。

MyActivity.instance.finish();



Android 随时销毁一个Acitivity