![](/img/trans.png)
[英]Activities still in back stack when launching activities with FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP
[英]cleare activity stack between 2 given activities when do not keep activities flag is set in developer settings
我有一个应用程序,其中我从活动A-> B-> C-> D移动。 现在我想当我按D上的按钮时,我的堆栈应该是A-> D。 我已经从android API级别8到10做到了这一点,但是在android 4.0上,我具有“ 不保留活动 ”设置,这些设置在后台时会杀死我的活动,从而使Intent.FLAG_ACTIVITY_CLEAR_TOP和Intent.FLAG_ACTIVITY_NEW_TASK无效,因为我的活动a尚不活跃。
我该如何处理这种情况。 任何帮助都非常有用。
不要保留活动,我认为这是模拟场景的开发人员选项。
在您的情况下,仅用于活动B和C,我用来清理后退堆栈的方法是注册该活动的广播,并在用户按下按钮时从D活动启动意图。
public void onClick(View v){
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.package.CLEAR_B_C");
sendBroadcast(broadcastIntent);
}
因此,当B和C接收到该意图时,请调用finish()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.