有一些我不了解Android活动生命周期的事情,不要让我开始使用片段!:
一旦调用了resume()之类的方法,如果调用了finish()或startActivity(new Intent(..)),它将继续执行到最后。
public void onResume(){
// do some stuff AAA
....
startActivity(new Intent(..));
// do some more stuff BBBB
// Do I get this far?
setResult(RESULT_CODE, intent);
finish();
// How about here? Do I get this far?
// how do I make sure that everything started in this app up to now is finished off as well? ie that activities started up by this activity are also finished?
}
不过,这是一个类似于顶级面试的问题。在finish()之后仍会调用onPause()吗?怎么样onStop()?
最后,我想知道如何完成()不仅仅是MainActivity,还包括在应用程序下启动的所有此类活动,即由MainActivivity启动,因此返回到最初调用我的应用程序的应用程序。
答案 0 :(得分:2)
是的,调用finish()
后的代码将被调用。
当你致电finish()
时,下一个将要执行的功能是onPause()
。
如果要关闭后台堆栈上的所有活动,请执行以下操作:
setResult(RESULT_CLOSE_ALL);
finish();