是否有可能以某种方式监听ActivityManager的事件,例如什么时候开始活动? ActivityManager是否发送广播?我没有找到任何迹象表明它确实存在。
我基本上需要做的是:每当某个(第三方)应用启动/关注时,我希望我的应用启动我的一项活动。问题是这需要在第三方应用程序实际显示之前发生。
到目前为止我尝试过的解决方法:
有什么想法吗?
答案 0 :(得分:0)
我认为实际上没有其他传统方法来处理glabal系统状态,只有
(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.getRecentTasks() - 返回当前正在运行的任务列表,其中最新的任务是按顺序排列的第一个和更早的任务。
有关详情,请查看docs
也许虽然Android是Linux,但你可以运行像
这样的系统工具Runtime.getRuntime().exec("ps -aux | grep smth")
但我认为很难检测出特定的java应用程序。
答案 1 :(得分:0)
我查看了android源代码,但似乎没有任何广播事件。
https://android.googlesource.com/platform/packages/providers/ApplicationsProvider
答案 2 :(得分:0)
我认为您可以使用启动模式来确定要启动到顶级的活动。请检查问题:Android singleTask or singleInstance launch mode?。也许它会帮助你。