如何管理活动堆栈?

Mic*_*ele 10 stack android android-activity

当我的堆栈处于这种情况时:

A->B->C
Run Code Online (Sandbox Code Playgroud)

如果我启动D活动,我希望活动堆栈变为:

A->D
Run Code Online (Sandbox Code Playgroud)

请注意,活动C是一个对话框.

Nit*_*tin 5

以下是执行所需的步骤:

  • 从活动 C 启动活动 A,其中fromActivityC包含与意图和标志FLAG_ACTIVITY_CLEAR_TOP集捆绑在一起的布尔值。
  • 现在在创建活动 A 时首先检查这个布尔值“fromActivityC”,如果存在,则启动活动 D,否则正常流程继续。

    // following code can be used to get the boolean in the oncreate
    boolean entrypoint=this.getIntent().getExtras().getBoolean("fromActivityC");
    
    Run Code Online (Sandbox Code Playgroud)

一个小的解决方法,但希望它有帮助