1

我想知道,是否可以从我的应用程序中完成或关闭正在运行的应用程序?如果是,那怎么办?

我对此进行了谷歌搜索,但没有找到任何解决方案。我尝试使用killBackgroundProcesses,但它也对我不起作用。我期望像任务管理器这样的功能正在做的事情。请给我一些建议。提前致谢。

4

2 回答 2

1

除了 Android OS 本身,没有人可以杀死进程。

android 市场中的大多数任务杀手不会杀死应用程序,他们只是重新启动进程

通过使用

public void restartPackage (String packageName) 当你的activity调用这个方法时操作系统立即调用

savedInstanceState 并保存您要终止的活动的状态。现在这个过程是

从内存中删除,操作系统保存了它的状态。现在当用户下次启动该活动时

将从它被杀死或换句话说重新启动的地方开始。您可以从任何

任务管理器,他们不会杀死进程,因为没有人可以这样做。这种方法也

在 ICS 工作。

对于上述方法,您可以在这里查看。据我所知 killBackgroundProcesses (String packageName) 适用于 API 8 及更高版本。

于 2014-08-18T09:54:11.530 回答
0

首先,您需要一个进程的pid。您可以像以下代码一样获取包名称:

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
             int processid = 0;
       for(int i = 0; i < pids.size(); i++)
       {
           ActivityManager.RunningAppProcessInfo info = pids.get(i);
           if(info.processName.equalsIgnoreCase("here your package name")){
              processid = info.pid;
           } 
       }

然后您可以使用killProcess函数终止具有指定 pid 的进程。

于 2014-08-18T09:42:34.037 回答