如何在不刷新所有正在运行的进程的情况下检查启动的进程

时间:2011-08-10 07:13:06

标签: android

我编写了Android应用程序来杀死后台进程。我的应用程序查找正在运行的进程,让我们说如果浏览器打开它将关闭并终止它。现在它将在一段时间后再次检查。 令我讨厌的是我必须一次又一次地刷新它,我需要抓住任何在手机或别的东西上启动的应用程序,看看是否可以说'是浏览器'然后关闭并杀死它。

解决这个问题的任何有效方法??

2 个答案:

答案 0 :(得分:0)

你可以使用广播接收器,它坐着等待系统发送提示。目前的标准行动是:

  

标准广播行动

     

这些是Intent为接收广播定义的当前标准操作(通常通过registerReceiver(BroadcastReceiver,IntentFilter)或清单中的标记)。

     

ACTION_TIME_TICK

     

ACTION_TIME_CHANGED

     

ACTION_TIMEZONE_CHANGED

     

ACTION_BOOT_COMPLETED

     

ACTION_PACKAGE_ADDED

     

ACTION_PACKAGE_CHANGED

     

ACTION_PACKAGE_REMOVED

     

ACTION_PACKAGE_RESTARTED

     

ACTION_PACKAGE_DATA_CLEARED

     

ACTION_UID_REMOVED

     

ACTION_BATTERY_CHANGED

     

ACTION_POWER_CONNECTED

     

ACTION_POWER_DISCONNECTED

     

ACTION_SHUTDOWN

还有: ACTION_PACKAGE_FIRST_LAUNCH

但我认为这只会发送到启动应用程序的程序包。 (并且是API 12)

所以是的,而不是向我们倾诉一个倾听者。

查看ACTION_PACKAGE_RESTARTED

  

广播操作:用户重新启动了一个包,并且所有进程都已被终止。应删除与其关联的所有运行时状态(进程,警报,通知等)。

Example Implementation

也许你可以用它?

答案 1 :(得分:0)

另一项功能可能对您有用,getRecentTasks