0

我正在尝试在 Android >= 4.0 中实现onAppLeave/onAppReturn事件。当用户离开应用程序(转到另一个应用程序,按下主页等)并返回应用程序(即应用程序被带到以前没有的前台)时,应该触发这些。目前,我正在跟踪应用程序中所有活动的生命周期调用,根据生命周期调用的顺序确定何时触发事件。在多台设备上进行测试后,似乎同一个应用中的活动之间的生命周期事件按以下顺序发生:

Time   Activity A    Activity B
----   ----------    ----------
 |     onPause
 |                   onStart
 |                   onResume
 v     onStop

假设这是正确的,

  • 当应用程序中的一个活动之前没有来自应用程序中的另一个活动onAppLeave时,可以触发该事件。onStoponResume
  • 当应用程序中的一个活动之前没有来自应用程序中的另一个活动onAppReturn时,可以触发该事件。onStartonPause

这个逻辑正确吗?是否存在这些假设无效的情况?

4

1 回答 1

0

根据文档,逻辑是正确的。当用户点击电子邮件、电话、地图等链接并开始另一个活动(如电话拨号器、gmail 作曲家或地图)时,可能会出现其他情况。用户可能会将这些活动视为应用程序的一部分,但触发 onAppLeave 事件的逻辑不会。

于 2013-11-05T00:51:00.847 回答