我正在努力解决我的应用程序中的问题。我想提供一种列出以前打开的活动的历史记录的方法。如何获取活动历史堆栈的列表?
我认为有两个潜在的解决方案,但我不确定找到稳定的方法来实现它们中的任何一个。
- 不知怎的,使用函数从SDK。我试着用getPackageManager()和getActivityManager(),但我无法找到任何合适的解决方案
- 实现我自己的历史,但后来我不得不重写startActivity,我真的不希望这样下去作为一项活动可以以其他多种方式启动。
那么,有没有办法做到这一点使用函数从SDK?
非常感谢。
编辑:
我有另一个想法,它有点不同。是否有可能通过某种接收器收听特定应用(我的)的“开始/结束活动”事件并跟踪堆栈历史记录?
真的很酷,我不知道那个! –
如果我们使用registerActivityLifecycleCallbacks(),我们是否需要维护自己的堆栈?我实际上想要为我的应用程序显示一个ActivityRecords列表。我看到“adb shell dumpsys活动活动”显示一个TaskRecord,其中有多个“Hist#”项是ActivityRecords。我想要一个这些ActivityRecords的列表;至少是活动类名称。我没有找到任何方法得到这个。这是与参考。以我的问题:http://stackoverflow.com/questions/30095772/get-thumbnail-screenshot-of-activities-in-back-stack-of-android?noredirect=1#comment48303570_30095772 – AndroidGuy
@AndroidGuy:“我们需要维护我们自己的堆栈?“ - 如果你想要一个堆栈,是的。 – CommonsWare