如何强制关闭android中当前运行的应用程序

时间:2011-08-22 08:36:34

标签: android

我正在尝试查找设备中正在运行的进程列表。 之后,我想强制关闭除当前应用程序之外的所有进程。 我尝试使用下面的代码。它列出了已处理但未杀死的流程。

ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);

 List<RunningAppProcessInfo> process = manager.getRunningAppProcesses();  




  for (int i = 1 ;i< process.size();i++)

  {
    int pid = process.get(i).pid;            

    System.out.println("Task " + process.get(i).processName);  

    android.os.Process.killProcess(pid);is 
   }

以上代码只是我试图杀死进程。一旦killprocess调用i再次调用getRunningAppProcess()来检查进程是否被终止。仍然显示所有过程。

2 个答案:

答案 0 :(得分:3)

  

它列出了已处理的但不会杀死进程。

当然。您无权使用killProcess()终止其他进程。我不知道为什么你认为你会有这样的权利。

  

我们也希望杀死所有前景和后台应用程序。

这会使操作系统崩溃。

如果您只想运行应用程序,请使用自己的固件和自己的操作系统以及自己的GUI框架构建自己的设备,将应用程序放在这些设备上,然后分发这些设备。

答案 1 :(得分:1)

你可以尝试killBackgroundProcesses()(它需要包名),你需要KILL_BACKGROUND_PROCESSES权限。而且你可以在没有特殊许可的情况下杀死自己的进程(请务必最后完成)。 如果它仍然不起作用,您需要根电话,并以root身份执行。