如何以编程方式杀死第三个应用程序?
如何在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)。