有没有办法了解第三方应用程序的执行情况?

问题描述:

基本上,我想知道另一个应用何时开始,所以我可以用特定的方式调整我的应用。例如,如果用户启动GMail应用程序,我的服务可以检测到并作出反应。有没有办法了解第三方应用程序的执行情况?

我目前的想法是从ActivityManager类中检查getRunningTasks()中的每个元素的'topActivity'。但这听起来相当昂贵,因为它需要经常在后台检查(而且我对我的应用程序的CPU使用率非常挑剔)。

如果有人知道更好的方法,我很乐意听到它!

没有办法这样做,即自applaunch以来不会广播的“好方法”意味着BroadcastListener。唯一的方法是开始一个服务,检查getRunningTasks() (为了不加载CPU太多,你也可以检查前台应用程序,如果你对该技术感兴趣,我将搜索代码)

在5-10秒的时间间隔内有服务检查。还要在SCREEN_OFF处关闭服务并在SCREEN_ON处重新启动服务。

对不起,但没有其他办法。

+0

所以基本上,我已经想到了。嗯,谢谢! – Glitch