如何检测Android应用程序的启动?

时间:2011-05-31 01:14:57

标签: android broadcastreceiver

是否可以检测应用程序何时执行(即,当用户点击应用程序的图标时)?我尝试使用类型为Intent.ACTION_MAIN的类别注册Intent.CATEGORY_LAUNCHER类型的意图,希望每当应用程序启动时都会通知我。问题是,我的广播接收器永远不会被调用。

这是非法意图/类别组合,需要注册吗?是否有一些方法可用于确定何时发生应用程序启动?

2 个答案:

答案 0 :(得分:16)

应用程序启动Intent不是广播,因此无法注册广播接收器并接收它。如前所述[{3}},实际上无法检测应用的启动。您可以编写一个服务来轮询正在运行的任务以查找应用程序的任务(使用ActivityManager界面),但这是我能想到的最好的,它可能不会非常高效。

答案 1 :(得分:5)

在针对一般情况启动应用程序时,没有任何广播意图。如果您想要检测的应用程序是您的,您可以发出自己的意图广播,但如果没有,那么不,您无法检测到它。