如何在前台(顶部)活动(应用程序)更改时收到通知

时间:2010-10-06 09:28:15

标签: android service android-activity foreground

我想为Android平台编写一个服务,当前台活动发生变化时会通知该服务。 基本上,只有在顶级活动发生变化时,服务才能执行某些任务。 有什么方法可以订阅并在发生此类事件时收到通知吗? 或者没有可能,服务应不时轮询正在运行的活动列表并检查前台活动是什么?不是更好的解决方案...

2 个答案:

答案 0 :(得分:4)

AFAIK有两种方法可以做到这一点。

  1. 启动服务并监控活动堆栈,您可以查看它here
  2. 使用辅助功能服务,您可以找到解决方案here

答案 1 :(得分:0)

您应该将每个活动绑定到服务,并且您将知道正在运行的活动。

试试这个:

List runningTaskInfos=actvityManager.getRunningTasks(1).get(i).topActivity .getPackageName();

此方法将提供活动的包名称信息,该名称位于前台..............