【问题标题】:Android detect if an activity is on the top of the history stackAndroid 检测活动是否在历史堆栈的顶部
【发布时间】:2011-06-09 05:24:15
【问题描述】:

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

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    ActivityManager 包含一个 getRunningTasks() 方法,该方法将为您提供所有当前活动的任务:返回当前正在运行的任务列表,最近的任务排在第一位,旧任务排在后面.请注意,“正在运行”并不意味着任务的任何代码当前已加载或处于活动状态——任务可能已被系统冻结,以便在下次进入前台时可以以之前的状态重新启动它 .

    返回的数据是ActivityManager.RunningTaskInfo的列表,每一个都包含ComponentName来推导出它所代表的活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 2020-06-04
      相关资源
      最近更新 更多