不管 finish();还是System.exit(0);都知道关闭当前的活动,所以可以通过桟来删除所有的活动来达到一键退出效果。(也可以把所有的Activity储存起来然后退出时通过循环遍历栓出所有的Activity)。
- 首先把启动页的启动模式设置为“singleTop”。
android:launchMode="singleTop"
- 在启动页代码里添加onNewIntent()方法。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {
finish();
}
}
当启动模式设置为“singleTop”所以会调用onNewIntent()方法。
- 在要退出的点击事件添加以下代码
Intent intent = new Intent();
intent.setClass(D.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
- Intent.FLAG_ACTIVITY_CLEAR_TOP:
销毁目标Activity和它之上的所有Activity,重新创建目标Activity
网友评论