Intent Flag实际项目 -- 超时跳转登录界面并清理前面所有activity
项目中涉及到登录超时跳转登录界面的逻辑,我以前的跳转flag为Intent.FLAG_ACTIVITY_CLEAR_TOP,但是点击返回按钮还是会回到上个界面。代码如下:
ActivityUtils.startActivityByFlag(context, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP);
对应ActivityUtils里面代码:
/** * 从当前activity跳转到目标activity,<br> * 如果目标activity曾经打开过,就重新展现,<br> * 如果从来没打开过,就新建一个打开 */ public static void startActivityByFlag(Context context, Class<?> cls, int flags) { Intent intent; intent = new Intent(context, cls); intent.addFlags(flags); context.startActivity(intent); }
后来修改flag为Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK,问题解决:
ActivityUtils.startActivityByFlag(context, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步