完成或关闭其他应用程序的应用程序

时间:2014-08-18 08:36:56

标签: android android-activity activity-manager

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

我搜索了这个,但没有找到任何解决方案。我尝试使用killBackgroundProcesses但它也不适用于我。我希望像Task Manager这样的功能正在做什么。请给我一些建议。提前致谢。

2 个答案:

答案 0 :(得分:1)

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

Android市场中的大多数任务杀手都没有杀死他们只是重启过程的应用

使用

public void restartPackage(String packageName) 当您的活动调用此方法时,操作系统立即调用

savedInstanceState并保存要杀死的活动的状态。现在这个过程是

从内存中移除并且操作系统保存状态。现在,当下次用户启动该活动时

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

验证它 任务经理,他们不会杀死这个过程,因为没有人可以这样做。这个方法也

在ICS工作。

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

答案 1 :(得分: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的进程。