在Android中,如何检测为什么我的活动恢复?
-
01-10-2019 - |
题
我正在开发一项行动,可以进行一些自己的国家管理。我正在尝试区分以下质量案例:
- 新发布
- 任务开关(主页按钮长点击)
- 在同一应用程序中的其他活动之后恢复
- 睡觉后醒来
- 方向更改
活动的意图或其他地方是否可以帮助我区分这些问题?
对于好奇和一些环境...我想保留我的内部历史记录堆栈在4&5上。在情况2和3上,我会保留相同的当前页面,但要删除历史记录(允许正常的返回按钮功能接管这一点)。案例1将初始化为活动的内部开始页面(并且可以在ongreate的一些帮助下轻松检测到)。
解决方案
活动的意图或其他地方是否可以帮助我区分这些问题?
项目#4与 onResume()
, , AFAIK。
项目#5最好通过 android:configChanges
和 onConfigurationChange()
虽然您可以通过从中返回一些东西来“检测到” onRetainNonConfigurationInstance()
看看它是否在那里 onResume()
通过 getLastNonConfigurationInstance()
.
其他情况不仅仅是三个案例,而且可能是两倍,一旦您开始考虑“被踢出记忆以释放RAM”之类的事情。
在袖口上,感觉就像您做出了一些不幸的建筑决策(“内部历史堆栈...擦除历史记录...允许正常的后退按钮功能接管”)。 Android围绕许多廉价的活动而设计,您似乎违反了这种戒律。欢迎您这样做,但请记住,对您选择的模式的支持可能会受到限制。
不隶属于 StackOverflow