Service如何判断UI现在是否可见



我尝试使通知必须只在应用程序UI 可见时才能工作。我试图存储偏好,它写在ActivityonStart()onStop()中。但有时,它不能工作,因为在没有调用MyActivity.onStop()的情况下,另一个应用程序变得可见。

我可以使用什么其他方法来确定服务,如果MyApplication现在是可见的?或者MyActivity?

如果你已经有代码来跟踪你的应用程序UI的状态,你可能只需要把代码放在onPause()onResume()中,而不是onStart()onStop(),就可以让它工作了。

有可能UI不可见,或部分隐藏,甚至在onStop()被调用之前…如你所知。

请看这里的Android Activity生命周期图:

http://developer.android.com/images/activity_lifecycle.png

,注意描述:

活动的前台生存期发生在调用onResume(),直到对应的onPause()调用。在此期间该活动位于所有其他活动的前面,并与之交互用户。活动可以频繁地在恢复和暂停之间切换状态,比如设备什么时候进入睡眠,什么时候有活动Result被交付,当一个新的意图被交付时——所以代码在这些方法应该是相当轻量级的。

相关内容

最新更新