finish()和android活动生命周期

时间:2015-10-15 07:34:23

标签: android

有一些我不了解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启动,因此返回到最初调用我的应用程序的应用程序。

1 个答案:

答案 0 :(得分:2)

是的,调用finish()后的代码将被调用。

当你致电finish()时,下一个将要执行的功能是onPause()

如果要关闭后台堆栈上的所有活动,请执行以下操作:

setResult(RESULT_CLOSE_ALL);
finish();