繁体   English   中英

在开发人员设置中设置了不保留活动标志时清除2个给定活动之间的活动堆栈

[英]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()。

看到该帖子以及Francesco Laurita的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM