有许多活动可以触发我的应用中的registration activity
。
注册活动由5 activities
个活动组成。现在,完成注册后,我希望将用户带到ProfilePageActivity
,并且当用户按下ProfilePageActivity
的后退按钮时,我希望带用户进入他们叫{{1 }}
如果我使用这些;
RegistrationActivity
它们将删除整个堆栈,并且当用户按下“后退”按钮时,它将退出应用程序。
我想知道是否有任何方法可以定义要从堆栈中删除的活动范围。
答案 0 :(得分:1)
您可以使用TaskStackBuilder
,请尝试
TaskStackBuilder.create(this)
.addNextIntent(mainActivityIntent())
.addNextIntentWithParentStack(myTripActivityIntent())
.startActivities();
函数是
private Intent mainActivityIntent() {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return intent;
}
private Intent myTripActivityIntent() {
Intent intent = new Intent(this, MyTripActivity.class);
return intent;
}
答案 1 :(得分:1)
最好在Fragment
中使用RegisterActivity
。
如果您仍然想这样做,则应使用startActivityforResult
。当最后一个活动单击完成按钮时,请用RESULT_OK
完成活动。现在在第4个活动检查结果中,如果它是RESULT_OK
,请执行相同的过程,直到完成。涉及第一个活动RegisterActivity
。现在,如果您得到RESULT_OK
,请致电ProfilePageActivity
。