Android退出应用程序的最好方法

一般App都会有个SplashActivty作为启动页, 然后开启MainActivity.然后在onKeyDown里做"再按一次退出程序"的逻辑.

网上也说了很多种退出app的方法, 比如拿单例管理Activity栈, 空指针, System.exit(0)等等.但是都没有接下来的方法好.

其实只需要你在推出MainActivity后, 把SplashActivity给finish掉就可以了.具体操作如下: 

splash的onStop方法里finish
@Override
protected void onStop() {
    super.onStop();
    finish();
}
处理退出app的地方也finish就可以了.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == event.KEYCODE_BACK && event.getRepeatCount() == 0) {
        exit();
        return false;
    }
    return super.onKeyDown(keyCode, event);
}

private void exit() {
    if ((System.currentTimeMillis() - mExitTime) > 2000) {
        Toast.makeText(MainActivity.this, getString(R.string.string_exit), Toast.LENGTH_SHORT).show();
        mExitTime = System.currentTimeMillis();
    } else {
        finish();
    }
}

你可能感兴趣的:(Android)