我有三个活动,即A,B和C. A是启动器活动,而B和C是singleInstance活动。我想要的活动之间的移动顺序是A(按下按钮) - > B然后B - 和 - 。 C(即,B和C保持交替多次,他们想要)。在B中,按向上导航按钮将我带到活动A。
现在问题出现了。我现在在A,并且想要在我的应用程序启动期间(例如,我希望它可以像应用程序已启动一样工作)转到B(通过按下按钮)。但是它试图进入活动B并且突然闪回它返回A.现在有趣的部分是当我再次尝试时(即在活动AI再次按下按钮)它没有任何问题地进入B并且流程工作正如预期的那样,活动流程与发布时间相同。
我最终想要什么?
一旦我达到活动A的启动器活动,我希望应用程序的行为就像它刚刚启动一样。即所有活动,包括singleInstance活动都应该从堆栈中清除。
我在活动B的onSupportNavigationUp()
方法中试过这个:
Intent mainIntent = new Intent(B.this, A.class);
mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(mainIntent);
B.this.finish();
我甚至尝试添加Intent.FLAG_ACTIVITY_CLEAR_TOP
。
但这并没有帮助。问题仍然没有解决。
任何建议都将不胜感激。