如何防止重新启动

我的问题描述:

app需要登陆才能进入主页,每次退到后台或返回之后都会重新进入LoginActivity,我需要的效果是登陆后,每次都去跳MainActivity。

说做就做,方法有很多种,我这记录的主要是利用回退栈 *moveTaskToBack(false)*来实现:

  • LoginActivity的onCreate()方法中添加:

    1
    2
    3
    4
    if (!isTaskRoot()) {
    finish();
    return;
    }

    注意添加再布局设置之前

  • 再MainActivity中重写onKeyDownonBackPressed方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
    moveTaskToBack(false);
    return true;
    }
    return super.onKeyDown(keyCode, event);
    }

    @Override
    public void onBackPressed() {
    moveTaskToBack(false);
    super.onBackPressed();
    }

moveTaskToBack(boolean isToTask)这个方法的使用自己的理解就是不让Activity被系统主动回收。