项目中涉及到登录超时跳转登录界面的逻辑,我以前的跳转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);