如何在android中杀死正在运行的应用程序

时间:2012-07-16 07:05:28

标签: android

我正在编写一个可以杀死其他运行应用程序的应用程序。为此,我使用以下代码

int pid = process.pid;
android.os.Process.killProcess(pid);
Log.e("killed",process.processName);

我能够显示所有正在运行的应用程序。但是上面两行代码并没有杀死应用程序(com.sample.mango)。此外,我可以在市场上看到几个任务查杀应用程序。

所以我的问题是 - 是否有可能从其他应用程序中删除正在运行的应用程序?

如果是,那么杀人的方法是什么? (为什么上面的代码不起作用)

3 个答案:

答案 0 :(得分:1)

Android是否允许这类应用?这不是由操作系统而是第三方应用程序提供的服务。如果我的应用程序被某些第三方应用程序杀死,我会讨厌。

答案 1 :(得分:0)

来自documentation

  

使用给定的PID终止进程。请注意,尽管此API允许   我们要求基于其PID来杀死任何进程,内核会   仍然对您实际能够使用的PID施加标准限制   要杀了通常,这意味着只有运行调用者的进程   包/应用程序以及该应用程序创建的任何其他进程;   共享一个普通UID的软件包也可以互相杀死   过程

这就是为什么killProcess不起作用。

您应该尝试使用killBackgroundProcesses。不要忘记将KILL_BACKGROUND_PROCESSES添加到AndroidManifest.xml。

答案 2 :(得分:0)

您也可以尝试sending SIGNAL_KILL到pids。