- 杀死进程。
这种方法是没有效果的只能杀死当前的Activity
无法关闭程序,在1.5的时候有用,谷歌设计的时候规定程序不能自杀
android.os.Process.killProcess(android.os.Process.myPid())
. - 终止当前正在运行的Java虚拟机,导致程序终止.
这种方法也是没有效果的,因为Android
用的是dalvik
虚拟机
System.exit(0);
- 强制关闭与该包有关联的一切执行
这种方法只能杀死别人,无法杀死自己
java
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());
同时需要申请权限
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
既然上面介绍的三种方法都没有效果,那么怎么才能退出应用程序呢?
就是自定义一个Application
,在该Application
中去定义一个List<Activity>
的集合来记录中每一个开启的Activity
,在退出的时候去遍历这个List<Activity>
集合,
然后挨个的进行mActivity.finish()
方法,这要求在每开启一个Activity
的时候都加入到List
集合中,并且在Activity
退出的时候从List
集合中将其移除。