gpt4 book ai didi

android - 在 Android 中,我如何检测我的 Activity 恢复的原因?

转载 作者:行者123 更新时间:2023-11-29 02:16:18 25 4
gpt4 key购买 nike

我正在开发一个 Activity,它自己进行一些状态管理。我试图区分以下 onResume 情况:

  1. 新发布
  2. 任务切换(主页键长按)
  3. 在同一应用程序中的其他 Activity 之后恢复
  4. 睡醒
  5. 方向改变

Activity 的 Intent 或其他地方是否有什么可以帮助我区分这些内容?

出于好奇和一些上下文......我想保留我在 4 和 5 上的内部历史堆栈。在情况 2 和 3 上,我会保留相同的当前页面,但删除历史记录(允许正常返回按钮功能在此时接管)。情况 1 将初始化为 Activity 的内部起始页(并且可以在 onCreate 的一些帮助下很容易地检测到)。

最佳答案

Is there something in the Activity's intent, or elsewhere, that can help me differentiate these?

项目 #4 与 onResume() 无关,据我所知。

通过 android:configChangesonConfigurationChange() 可以更好地处理第 5 项,尽管您可以通过从 onRetainNonConfigurationInstance()< 返回一些内容来“检测”它 并通过 getLastNonConfigurationInstance() 查看它是否在 onResume() 中。

其他的不仅仅是三种情况,而且可能是这种情况的两倍,一旦您开始考虑“被踢出内存以释放 RAM”之类的可能性。

即兴发挥,感觉就像您做出了一些不幸的架构决策(“内部历史堆栈...删除历史...允许正常的后退按钮功能在此时接管”)。 Android 是围绕许多廉价 Activity 而设计的,而您似乎违反了这一原则。欢迎您这样做,但请记住,Android 对您所选模式的支持可能有限。

关于android - 在 Android 中,我如何检测我的 Activity 恢复的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com