如何以编程方式杀死第三个应用程序?

如何在Android中杀死一个应用程序?

killPackageProcesses(services.get(i).baseActivity.getPackageName()); 

这是killPackageProcesses函数

 public void killPackageProcesses(String packagename) { int pid = 0; ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List pids = am .getRunningAppProcesses(); for (int i = 0; i < pids.size(); i++) { ActivityManager.RunningAppProcessInfo info = pids.get(i); if (info.processName.equalsIgnoreCase(packagename)) { pid = info.pid; } } android.os.Process.killProcess(pid); } 

它不起作用。 它如何适用于其他应用程序? 许可是写的。

  

你无法杀死Android中的任何进程。 从Process文档 :

请注意,尽管此API允许我们根据其PID请求终止任何进程,但内核仍将对您实际可以杀死的PID施加标准限制。 通常,这意味着只有运行调用者的包/应用程序的进程以及该应用程序创建的任何其他进程; 共享一个共同UID的包也可以杀死彼此的进程。

另请注意,您在清单中请求的权限并不像您认为的那样有效。 根据文档 , KILL_BACKGROUND_PROCESS

允许应用程序调用killBackgroundProcesses(String)。