实施FLAG_ACTIVITY_CLEAR_TOP

时间:2015-09-14 03:24:26

标签: android android-intent android-activity

我正在努力解决如何正确地做到这一点。我在这样的堆栈中有以下活动;

A-> B-> C-> D-&GT,E

当E完成时,我想回到B,在此过程中摧毁C,D,E。我想回到B的同一个实例,而不是实例化它的新版本。在活动E中,我有这个:

Intent intent = new Intent(context, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

其中LoginActivity是我所谓的活动B.代码分支到活动B,但我认为我没有正确地这样做。我说这有两个原因:

  1. 我在活动B的onNewIntent()方法中设置了一个断点,该方法应该以这种方式启动活动时触发。但是,我从未见过这个断点。

  2. 我在活动B上有一个按钮监听器。如果我在堆栈源自A-> B时单击此按钮,它就会触发。然而,当我的流程是A-> B-> C-> D-> E-> B时,听众不再发射。这实际上是我的更大问题,但这些信息的组合告诉我,我有些不对劲。

  3. 事实上,我可以从一些日志记录输出中看到,当我返回到活动B时,会调用其onCreate()方法,这正是我想要避免的。

    有人能告诉我我做错了什么吗?谢谢!

0 个答案:

没有答案