我阅读了很多关于关闭其他应用程序的文档和帖子。我知道文档说Android不是以那种方式设计的。Android希望将一个应用程序休眠,而不是杀死进程。这很有道理,但是......我编写了一个根据用户配置的系统事件自动启动其他应用程序的应用程序。用户喜欢它,并希望在随后的系统事件之后关闭/杀死这些应用程序。我想说的是,用户要求我为他们自动化这个过程。这就是我的应用程序的目的。它自动启动其他应用程序,现在他们想要自动关闭或杀死它们。很多人说这是不可能的,但事实并非如此。存在几个任务杀手应用程序,它们做着我想做的事情。我尝试了
Process.killProcess(pid);
但似乎没什么作用。阅读该方法的文档时,它说Linux内核仍将执行权限。我甚至尝试杀死所有进程,但没有任何作用。也许我没有正确地获取要杀死的进程列表。
我使用以下代码来获取要杀死的进程列表:
for(RunningAppProcessInfo info:activityManager.getRunningAppProcesses()){
然后我使用Process.killProcess(info.pid); 来结束进程。我甚至尝试了以下代码:
activityManager.killBackgroundProcesses(String.valueOf(info.pid));
activityManager.killBackgroundProcesses(String.valueOf(info.processName));
然后
Intent i = new Intent();
i.setComponent(new ComponentName(ProcessName, ProcessName+".Main"));
context.stopService(i);
有人能够回答这个问题而不是告诉我它不应该被做或询问我为什么首先想要这样做吗?请提供一个代码示例或有意义的东西。
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(startMain);
这将模拟按下主屏幕按钮,有效地隐藏所有应用程序但仍在运行。 - Pierre