我正在尝试使用AppCompat抽屉创建一个基本应用程序,以及多个顶级活动(不是片段) - 我无法理解如何管理backstack - 我尝试了大约一百种不同的方法 - 但他们都需要某种奇怪的黑客来清理后台 - 或者完成现有的活动。
我有3项活动 - A,B& C. A& B是顶级,C是B的孩子
我想:
我有:
protected void startActivity(Class activity) {
final Intent intent = new Intent(this, activity);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
overridePendingTransition(0, 0);
}
基本上我传入ActivityA.class或ActivityB.class - 用这种方法 - 从B回来带我去A
使用HO_HISTORY,看起来没问题 - 但是从C退回退出应用程序
使用REORDER_TO_FRONT似乎什么都没做?
在startActivity完美运行后使用finish() - 除非您选择A或B两次(在这种情况下退出应用程序)
使用FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK以各种方式完美运行 - 除了在重新创建任务时超级讨厌的屏幕闪烁。而且表现很好......
帮助??
答案 0 :(得分:1)
你不能在starActivity调用后立即调用finish()吗? (你也必须删除SINGLE_TOP标志 - 否则你会遇到从B到B时出现的行为 - > B)