1

我有一个应用程序,我从活动 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 不存在。

我该如何处理这种情况。任何帮助都非常感谢。

4

1 回答 1

0

不要保留活动我认为这是模拟场景的开发人员选项。

我用来清理后台堆栈(在您的情况下只有活动 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 的答案

于 2013-03-21T12:28:50.547 回答