0

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

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

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

所以我的问题是——是否可以从其他应用程序中终止正在运行的应用程序?

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

4

3 回答 3

1

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

于 2012-07-16T07:12:16.680 回答
0

文档中:

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

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

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

于 2012-07-16T07:19:41.510 回答
0

您也可以尝试 SIGNAL_KILL发送到 pid。

于 2012-07-16T07:27:51.090 回答