第一步设置MainActivity的加载模式为singleTask
android:launchMode="singleTask"
第二步重写onNewIntent()方法
private static final String TAG_EXIT = "exit";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
boolean isExit = intent.getBooleanExtra(TAG_EXIT, false);
if (isExit) {
this.finish();
}
}
}
第三步 退出
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra(MainActivity.TAG_EXIT, true);
startActivity(intent);
六、懒人式
这种方式更加简单,只需要如下两步操作
- 1、将MainActivity设置为singleTask
-
2、将退出出口放置在MainActivity
我们可以看到很多应用都是双击两次home键退出应用,就是基于这样的方式来实现的,这里在贴一下如何处理连续两次点击退出的源码
private boolean mIsExit; @Override /** * 双击返回键退出 */ public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (mIsExit) { this.finish(); } else { Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show(); mIsExit = true; new Handler().postDelayed(new Runnable() { @Override public void run() { mIsExit = false; } }, 2000); } return true; } return super.onKeyDown(keyCode, event); }以上就是关于Android退出应用最优雅的方式详细介绍,希望对大家的学习Android有所帮助。
注:相关教程知识阅读请移步到Android开发频道。










