2011-05-31 71 views
13

是否有可能检测到应用程序何时执行(即,用户何时点击应用程序的图标)?我试图使用Intent.CATEGORY_LAUNCHER类型的类别注册类型为Intent.ACTION_MAIN的意图,希望在应用程序启动时这会让我知道。问题是,我的广播接收器永远不会被调用。如何检测Android应用程序启动?

这是一个非法的意图/类别组合注册?有什么方法可以用来确定应用程序启动何时发生?

+0

你真的想完成什么?可能有一些解决方法 – 2011-05-31 02:26:09

+0

您是否创建相同的服务? – Nikhil 2012-05-02 13:51:50

回答

16

应用程序启动Intent不是广播,因此无法注册广播接收器并接收它。正如以前回答here,真的没有办法来检测应用程序的启动。你可能写了一个服务来轮询正在运行的任务,寻找应用程序的任务(使用ActivityManager接口),但这是我能想到的最好的,它可能不会很高性能。

+0

好吧,那太臭了,但至少我可以轮询得到类似的(但不是很好)的方式来检测。谢谢您的帮助。 – 2011-05-31 02:02:29

+0

Avast!杀毒软件可以在启动时扫描应用程序,任何人都有任何想法,他们正在使用什么方法做 - 所以? – Haravikk 2014-02-12 14:41:57

5

当为一般情况启动应用程序时没有任何广播意图。如果您要检测的应用程序属于您的应用程序,则可以播放您自己的意图广播,但如果不是,则不能检测到它。

相关问题