2012-07-16 156 views
0

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

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

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

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

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

回答

1

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

0

documentation

杀死与所述给定PID的过程。请注意,虽然这个API允许我们请求基于它的PID终止任何进程,但内核将仍然强制执行标准限制,您实际上可以使用其中的杀死哪些PID。通常这意味着只有运行调用者的程序包/应用程序以及由该应用程序创建的任何其他进程的进程;共享一个通用UID的软件包也将能够相互杀死对方的 进程。

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

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

相关问题