1. android.os.Process.killProcess(pid)
只能终止本程序的进程,无法终止其它的
具体代码如下:
Process.killProcess(Process.myPid());
Process.killProcess(Process.myPid());
Process.killProcess(Process.myPid());
Process.killProcess(Process.myPid());
2. System.exit(int code)
例如: System.exit(0);
该方法只能用于结束当前进程自身,在程序遇到异常,无法正常执行时,可以 通过这个方法强制退出。
需要注意的是: android.os.Process.killProcess(pid) 和 System.exit(int code)会导致进程非正常退出,进程退出时不会去执行Activity的onPause、onStop和onDestroy方法,那么进程很有可能错过了保存数据的机会。因此,这两个方法最好使用在出现异常的时候!大家需要注意其使用方法。
3. Android 结束进程,关闭程序的方法 即采用下面这个类
使用这个类的具体源代码
final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
不要忘记了在配置文件中设置权限:
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
4. 在android2.2版本之后则不能再使用restartPackage()方法,而应该使用killBackgroundProcesses()方法
manager.killBackgroundProcesses(getPackageName());
使用示例代码如下:
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
//需要在xml中加入权限声明
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
注意:第一种和第一种只能结束自身进程,无法结束其它进程;第三种和第四种只能结束其它进程,不能结束自身进程;