Android会检测活动是否位于历史堆栈的顶部

时间:2011-06-08 21:17:56

标签: android

无论如何,从活动的父类中可以看出孩子是否在历史堆栈的顶部。我需要对onPause中的所有活动执行操作,但前提是活动在onPause上运行且它是顶级活动。如果用户单击主页按钮但是当活动启动新活动并因此调用其自己的onPause时,可能会发生这种情况。任何想法都会很棒。

由于

1 个答案:

答案 0 :(得分:5)

ActivityManager包含getRunningTasks()方法,可为您提供当前所有活动的任务:返回当前正在运行的任务列表,其中最新的是第一个和更早的任务按顺序排列。请注意,“运行”并不意味着任何任务的代码当前已加载或活动 - 该任务可能已被系统冻结,因此可以在下次将其置于前台时以其先前状态重新启动

返回的数据是ActivityManager.RunningTaskInfo的列表,每个列表都包含ComponentName以获取它所代表的活动。