如何杀死Android中的应用程序?
killPackageProcesses(services.get(i).baseActivity.getPackageName());
这是函数killPackageProcesses
public void killPackageProcesses(String packagename) {
int pid = 0;
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> 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);
}
它不起作用。它如何适用于其他应用程序? 许可是写的。
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
答案 0 :(得分:3)
你无法杀死Android中的任何进程。来自the documentation on Process
:
请注意,尽管此API允许我们请求终止任何进程 基于其PID,内核仍然会施加标准限制 你实际上能够杀死哪些PID。通常这只意味着 运行调用者的包/应用程序的过程 该应用程序创建的其他进程;包共享一个共同点 UID也可以杀死彼此的进程。
另请注意,您在清单中请求的权限不会像您认为的那样有效。根据{{3}},KILL_BACKGROUND_PROCESS
:
允许应用程序调用killBackgroundProcesses(String)。