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