了解Intent.FLAG_ACTIVITY_CLEAR_TOP

sam*_*sad 4 android android-intent

在此输入图像描述

根据上面显示的图像,我有一些疑问.要求按顺序阅读每一步: -

  1. 每个块都是Android活动
  2. 箭头表示堆栈方向 - 活动打开的顺序(A在首次启动应用程序时启动)
  3. 这里当用户到达ACTIVITY F并且想要打开活动Z(我们正在使用Flag_Activity_clear_top)时.
  4. 之后,当用户想要打开活动D时,从ACtivity Z开始.

****我们在此步骤的要求是 - 当活动D打开并且用户按下后退按钮时 - 我希望用户应该被重定向回到活动C,在活动B之后等等.****

目前,当我们按下从后面活动d(从ž到来后),然后我们被重定向到活动ž.

Gil*_*yof 5

CLEAR_TOP不好,因为如果你以这种方式打开一个活动,它将删除整个堆栈,这听起来不像你想要的那样.

试一试:当启动活动E(来自D),F(来自E)和Z(来自F)时,使用标志"FLAG_ACTIVITY_NO_HISTORY"进行操作.此标志将阻止新活动出现在后台堆栈中.

请记住,以这种方式打开的任何活动都不会在后台堆栈中注册.所以,如果你回来的时候(例如)你在F,它会回到D.

希望这可以帮助!