启动活动在Android中清除顶部(Start Activity clearing top in A

2019-09-01 02:59发布

我在堆栈中的下列活动:

A , B , C, D 

我要重新启动的B为了得到这个堆栈:

A , B'

其中B”是一种新型B实例(不老接收onNewIntent回调,我该怎么办呢?

顺便说一句,我使用

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

启动B活性时,但这种方式onNewIntent被调用,而不是开始一个新的实例

Answer 1:

使用Android:noHistory =在特定的活动清单文件真实clear.Hope这可能会解决您的问题。



Answer 2:

在这里,当你B中使用此代码的带你上的活动B.按后退按钮将其带你A.

Intent fromDtoB = new Intent(this,B.class);
fromDtoB.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(fromDtoB);

FLAG_ACTIVITY_CLEAR_TASK:如果)传递给Context.startActivity(一个Intent设置,该标志将导致将与活动相关的任何现有任务的活动开始之前被清除。

FLAG_ACTIVITY_CLEAR_TOP:如果设置,以及正在启动的活动在目前的任务已经运行,然后,而不是推出该活动的一个新的实例,都在它上面的其他活动的将被关闭,该意图将交付给(现在在上面)老年活动作为一个新的意图。



文章来源: Start Activity clearing top in Android