我正在写一个任务管理器服务,需要强制关闭任何正在运行的进程,可以说浏览器,我尝试使用killBackgroundProcesses,restartPackage,killProcess但这些强制关闭进程(例如浏览器)时没有任何进程在前面否则他们在工作中。如何强制停止启动过程甚至在前台运行?
我想强行停止的过程即使在过程上前运行。 我现在应该做什么?
我正在写一个任务管理器服务,需要强制关闭任何正在运行的进程,可以说浏览器,我尝试使用killBackgroundProcesses,restartPackage,killProcess但这些强制关闭进程(例如浏览器)时没有任何进程在前面否则他们在工作中。如何强制停止启动过程甚至在前台运行?
我想强行停止的过程即使在过程上前运行。 我现在应该做什么?
了,我想你。我这个问题,即杀害背景process.So每当我需要杀死在前台运行的,我只是把我的活动在foreground.So过程中要处理的服务中使用的方法自动杀死后台并可以用killBackgroundProcess来杀死。
但可以肯定这是不是一个真正的好的做法
解决,这里是代码:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
Appmgr.killBackgroundProcesses(RunningP.processName);
感谢这个,罗尼。我必须补充说,这个解决方案可能产生后台任务的另一个克隆任务,因为你的标志被设置为'NEW_TASK'。我将我的标志设置为'FLAG_ACTIVITY_CLEAR_TOP',我的Activity具有'android:launchMode =“singleTop”'属性,所以我的Activity是为应用程序生成的单个任务。也不需要'CATEGORY_HOME'类别,没有它的工作(现在)。 – soulseekah
可我的任何处理(比如浏览器)发送到后台? ,因为无论何时我将运行进程发送到后台,我的服务都会在没有前台进程的情况下杀死该进程。 – Rony
你can.If你把你的程序在前台,然后以前的前台进程会自动回到 – Rasel
推倒了现在的工作,我把家里的活动在前面 – Rony