清除android活动堆栈,开始新活动

我有一个应用程序,每个新创建的活动都会启动一个异步任务来验证用户会话.如果会话有效,则应用程序流程继续.如果不是,则必须清除整个活动堆栈,并且应该只有登录活动.该活动具有“无历史记录”标志,因此它永远不会保留在堆栈中.

我一直在尝试这里提供的一些解决方案:Android: Clear Activity Stack,但没有成功.

这必须适用于最低的Android,最低为2.2

谢谢!

解决方法:

我将登录活动保存在堆栈中.在登录活动的onResume()中,我检查用户是否具有登录凭据,如果有,请在登录后显示的下一个屏幕上调用startActivity.在这种情况下,用户看不到登录屏幕.

当用户按下注销按钮时,我清除了用户的凭据,然后清除了堆栈,一直返回到登录屏幕:

    Intent intentLaunchLogin = new Intent(this, ActivityLogin.class);
    intentLaunchLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intentLaunchLogin);

另外,如果用户在登录后出现的屏幕上,并且按下“返回”按钮,则我不希望他们进入登录活动.此代码将按预期将用户发送到主屏幕:

moveTaskToBack(true);
上一篇:面试1-------(每日打卡2)


下一篇:《百度之星初赛三 * 补》