如何监控我的应用程序是暂停还是恢复?

时间:2015-09-29 23:54:31

标签: java android

我有一个Android应用,我想跟踪应用暂停或恢复的时间。

暂停:用户按下了主页按钮,应用程序仍然在后台运行。

恢复:app在后台运行,用户打开应用。

我的应用暂停/恢复时如何收到通知?

2 个答案:

答案 0 :(得分:1)

  

暂停:用户按下了主页按钮,应用程序仍然在后台运行。

我猜测初始状态是你的一个活动在按下HOME按钮时处于前台。

总的来说,Android中没有“应用程序”处于前台或后台的概念,尽管我们有时会将这种措辞用作其他场景的简写。

当用户按下HOME时,将使用onPause()onStop()调用前景中的任何活动,但在许多其他场景中也会调用这些事件(例如,用户按下BACK)。当用户按下HOME而不是BACK时将调用onUserLeaveHint(),但在其他情况下不会调用onUserLeaveHint()(例如,来电屏幕占用前景)。 onUserLeaveHint()是否符合您的要求,我不能说。

  

恢复:app在后台运行,用户打开应用。

至少,

onStart()onResume()会在您接管前台的活动上调用。这些也将在其他时间被调用,例如当活动第一次进入屏幕时。还有onRestart(),只有在停止后(即在先前的onStop()调用之后)启动活动时才会调用该活动,这将清除新创建的活动场景。但是,onRestart()也会在其他场景中调用,例如配置更改的一部分(例如,屏幕旋转)。

一般而言,您所寻求的并不是Android架构的一部分。您可能需要以其他方式解决问题。

答案 1 :(得分:0)

在您的Android活动中,您可以覆盖onPauseonResume方法。

请参阅Lifecycle Callbacks上的文档,以获取可以实现的其他生命周期回调的列表。