如何退出应用程序
所以为了通用想到了另外一种方法,就是当我们点击“退出程序”菜单时,可以从当前Activity跳转到主Activity(就是我们打开程序最先启动的那个Activity),通过Intent告诉主Activity我要退出程序,然后主Activity调用finish()方法即可。由于这一过程很短暂,以致于我们没观察到Activity有任何切换就退出程序了!
同样为了让大家更容易理解,我做了一个Demo.为了省事,程序运行时我直接就从MainActivity跳转到BActivity,在BActivity有个“退出程序”菜单,点击会退出程序。
定义一个工具类Sysutil用来退出程序,这样定义好处可以在多个Activity的时候复用,代码如下:
其中: intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP) 表示,开启目标activity时,会清理栈中的其他activity.
在应用中如果要回到首页,也可以用这这个flag.
点击退出程序菜单,管你SDK是什么版本,就可以完全退出程序啦,有木有!有木有!呵呵~
这里要说明一下,如果我们的主Activity是单例模式的话,也就是launcheMode="singleTop|singleTask"如下面代码:
这时MainActivity执行了onNewIntent()方法,退出程序 在这里完成,以上只是我个人的片面理解,如果大家有更好的通用方法,可以告诉我,相互学习,谢谢大家!!!