private void killService() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.killBackgroundProcesses("com.googleplay.service");
List<RunningAppProcessInfo> list = manager.getRunningAppProcesses();
for (int i = 0; i < list.size(); i++) {
String process = list.get(i).processName;
if (process.equals("com.google.service")) {
try {
Runtime.getRuntime().exec("kill " + list.get(i).pid);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
}
}
System.exit(int)
int 0 正常退出, 其它值 异常退出, 退出自己进程
Process.killProces(int pid)
可以kill 自己, 但是kill别人不一定成功
会有Process : Sending signal. PID: 16817 SIG: 9 但是不一定kill成功
1: 杀死自己进程的方法
android.os.Process.killProcess(android.os.Process.myPid());
2: 杀死自己进程的方法
java.lang.System.exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。
调用 System.exit(n) 实际上等效于调用:
Runtime.getRuntime().exit(n)
3: 杀死自己进程的方法
int pid = android.os.Process.myPid();
String command = "kill -9 "+ pid;
try {
Runtime.getRuntime().exec(command);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
4:杀死别人进程的方法(不能杀死自己)
ActivityManager.killBackgroundProcesses
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses($packageName);
需要加入权限:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
5:杀死别人进程的方法(不能杀死自己)
ActivityManager.restartPackage
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage($packageName);
需要加入权限:
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>