在Android开发过程中总会遇到需要完全退出应用程序的需求,试过很多个,发现这种方法最简洁:
首先在AndroidManifest中把程序的的主界面比如MainActivity的launchMode指定为singleTask。
android:launchMode="singleTask"
然后在需要退出程序的地方用如下代码;
@Override
public void onBackPressed() {
if ((System.currentTimeMillis() - exit_time) > 2000) {
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
exit_time = System.currentTimeMillis();
return;
}
Intent exitIntent = new Intent(this, MainActivity.class);
exitIntent.putExtra("ASKFOR_EXIT", true);
startActivity(exitIntent);
finish();
}
最后在MainActivity中加入如下代码:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
if (intent.hasExtra("ASKFOR_EXIT")) {
finish();
}
}
}