我尝试制作只有在应用程序 UI不可见时才必须工作的通知。我试图存储写在我onStart()
的. 但有时,它不起作用,因为另一个应用程序在没有被调用的情况下变得可见。onStop()
Activity
MyActivity.onStop()
如果 MyApplication 现在可见,我可以为服务使用什么其他方法来确定?或者,也许是 MyActivity?
我尝试制作只有在应用程序 UI不可见时才必须工作的通知。我试图存储写在我onStart()
的. 但有时,它不起作用,因为另一个应用程序在没有被调用的情况下变得可见。onStop()
Activity
MyActivity.onStop()
如果 MyApplication 现在可见,我可以为服务使用什么其他方法来确定?或者,也许是 MyActivity?
如果您已经有代码来跟踪应用程序 UI 的状态,您可能只需将代码放入onPause()
andonResume()
而不是onStart()
and即可使其工作onStop()
。
UI 可能不可见或部分隐藏,甚至在onStop()
被调用之前......正如您所发现的那样。
看看这里的 Android Activity 生命周期图:
http://developer.android.com/images/activity_lifecycle.png
并注意描述:
活动的前台生命周期发生在对 的调用与对
onResume()
的相应调用之间onPause()
。在此期间,活动位于所有其他活动之前并与用户交互。一个活动经常会在恢复和暂停状态之间切换——例如,当设备进入睡眠状态、传递活动结果时、传递新意图时——因此这些方法中的代码应该是相当轻量级的。