自动关闭Android中的应用程序

我已经阅读了很多关于关闭其他应用的文档和其他post。 我知道文档说Android不是这样设计的。 Android希望暂停应用程序,而不是杀死进程。 这是有道理的但….我写了一个应用程序,根据用户配置的系统事件自动启动其他应用程序。 用户喜欢它,并希望在后续系统事件发生后关闭/终止这些应用程序。 我想说的是用户要求我为他们自动化。 这是我的应用程序的重点。 它会自动启动其他应用程序,现在他们想要自动关闭或终止它们。 很多人说这是不可能的,但确实如此。 有几个任务杀手应用程序,他们做我想做的事情。 我试过了

Process.killProcess(pid); 

但这似乎并不多。 在该方法上阅读doco,它说Linux Kernal仍然会强制执行权限。 我甚至试图杀死所有进程,但它没有做任何事情。 也许我没有正确地获得进程列表。 我使用以下内容获取要杀死的进程列表

 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); 

任何人都可以回答这个问题而不是告诉我不应该这样做或者问我为什么要这样做呢? 请提供代码示例或有意义的内容。

你说的完全可能。 只需获取ActivityManager系统服务,然后使用.restartPackage()(不建议使用)或.killBackgroundProcesses()。

 ActivityManager activityManager = (ActivityManager) context.getSystemService("activity"); activityManager.restartPackage(packageName); 

你会需要: