22

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

4

2 回答 2

6

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

  1. 启动服务并监控 Activity Stack,你可以在这里查看
  2. 使用无障碍服务,您可以在这里找到解决方案
于 2015-01-29T08:34:11.237 回答
0

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

试试这个:

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

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

于 2010-10-06T09:49:36.333 回答