前言
最近被安排任务 需要开发一个平板业务app
在写到退出登录的时候 业务需求需要回到登录页并附带账号
这个业务比较简单 主要是 回到登录页并清空原有的任务栈
查阅谷歌官方文档
Intent.FLAG_ACTIVITY_CLEAR_TASK 要起作用,
必须和 Intent.FLAG_ACTIVITY_NEW_TASK 配合使用。
这两个 Flag 可以将原有任务栈清空,并将 intent 的目标 Activity 作为任务栈的根 Activity 。
任务栈的 Id 没有变,并没有开辟新的任务栈
public static void enterLoginActivity(Context context) {
Intent intent = new Intent(context, LoginActivity.class);
//下面2个flags ,可以将原有任务栈清空
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//附带账号标记
intent.putExtra(EXTRA_LOGIN_OUT_KEY, true);
context.startActivity(intent);
}
为什么要这么做?
当用户点击退出登录按钮后,跳转到登录页面的 Activity ,
直接用 startActivity() 跳转,点击返回键后仍会回到退出前的 Activity 。