0

所以,我的应用程序有 5 个活动:A、B、C、D、E。A 是启动(启动器)活动,启动后不再被调用。启动后,B 被调用并充当 Home 活动。B、C、D、E 都使用 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 调用,以便通过 onNewIntent() 重用和更新一个实例。有用。我对用户体验感到满意。

这是我的问题。我希望 B 的第一个实例(启动时)作为根任务。换句话说,如果连续按下后退按钮直到退出应用程序,我希望 B 的第一个实例成为用户看到的最后一个屏幕。B 的所有其他实例通常应使用 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT “回收”。

我很确定我可以做一个独特的活动(称之为 B2)并完成这个,有没有更好的方法?

4

1 回答 1

0

您可以使用

Intent cActivity = new Intent(BActivity.this,CActivity.class);
cActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(cActivity);

设置Intent.FLAG_ACTIVITY_NEW_TASK将保存您的 B 活动实例并将您的活动 C 作为新任务打开。或者您可以startActivity()在不设置任何标志的情况下调用。

于 2018-03-09T12:53:39.213 回答