在身份验证流程Android上完成多项活动

时间:2019-07-11 18:51:49

标签: java android android-intent android-activity

所以我有一个带有身份验证的应用 这是流程:

LoginPage->注册-> RegisterConfirmation-> OTP代码-> EmailVerification->主页

我希望如果用户已经在使用OTP代码或电子邮件验证,并且他按下了后退按钮,那么该用户将直接进入Homepage,因为他从RegisterConfirmation开始就已经获得了AccessToken。

这是我想要的流程: flow

我怎么可能呢,我已经做过一些研究,但是我所得到的只是如何仅完成一项活动(父母)?

2 个答案:

答案 0 :(得分:1)

如果用户已经获得了令牌访问权限,则不要让用户进入OTP代码并签入注册确认活动。

如果您尝试开始一个活动,说A,而您在当前活动中说D,则可以有意地使用它:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

清除热门活动(B,C,D)

编辑:

您可以使用

保留当前活动实例
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

答案 1 :(得分:0)

当用户按下“后退”按钮时,请按onBackPressed()方法执行以下操作。这可能会解决您的问题。它的作用是清除先前的任务并创建一个新任务
与堆栈中唯一的活动。

val intent = Intent(this,HomeActivity::class.java).apply{
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
}
startActivity(intent)
finish()