Android常见技巧---App按返回键退出程序但不销毁

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(false);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

里面的moveTaskToBack()是关键。

moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。 
参数说明: 
参数为false——代表只有当前activity是task根,指应用启动的第一个activity时,才有效; 
参数为true——则忽略这个限制,任何activity都可以有效。 
说明:判断Activity是否是task根,Activity本身给出了相关方法:isTaskRoot()

解释下moveTaskToBack调用后,task中activity的顺序不会发生变化,例如A启动B,B中调用此方法退到后台,重新启动应用会调用B中的onRestart-onStart-onResume方法,不会重新调用onCreate,而且在B中按下back键返回的还是A,这就是退到后台的功能。

其实就是和home的效果差不多了

你可能感兴趣的:(移动开发)