我正在尝试在 Android >= 4.0 中实现onAppLeave
/onAppReturn
事件。当用户离开应用程序(转到另一个应用程序,按下主页等)并返回应用程序(即应用程序被带到以前没有的前台)时,应该触发这些。目前,我正在跟踪应用程序中所有活动的生命周期调用,根据生命周期调用的顺序确定何时触发事件。在多台设备上进行测试后,似乎同一个应用中的活动之间的生命周期事件按以下顺序发生:
Time Activity A Activity B
---- ---------- ----------
| onPause
| onStart
| onResume
v onStop
假设这是正确的,
- 当应用程序中的一个活动之前没有来自应用程序中的另一个活动
onAppLeave
时,可以触发该事件。onStop
onResume
- 当应用程序中的一个活动之前没有来自应用程序中的另一个活动
onAppReturn
时,可以触发该事件。onStart
onPause
这个逻辑正确吗?是否存在这些假设无效的情况?