我尝试制作通知,只有在应用UI 不可见时才能使用通知。
我尝试存储用我onStart()
的{{1}}和onStop()
写的首选项。但有时,它不起作用,因为在没有调用Activity
的情况下,另一个应用程序变得可见。
如果MyApplication现在可见,我可以使用哪种方法来确定服务?或者,也许是MyActivity?
答案 0 :(得分:1)
如果您已经有代码来跟踪应用UI的状态,那么只需将代码放在onPause()
和onResume()
中,就可以让它工作正常而不是onStart()
和onStop()
。
即使在onStop()
被调用之前,UI也不可见或部分隐藏......正如您所发现的那样。
在这里查看Android Activity生命周期图:
http://developer.android.com/images/activity_lifecycle.png
并注意the description:
活动的前景生命周期在调用之间发生
onResume()
onPause()
,直到相应的{{1}}来电。在这段时间 活动在所有其他活动面前并与之互动 用户。活动可以经常在恢复和暂停之间进行 状态 - 例如当设备进入睡眠状态时,何时进行活动 交付新的意图时会传递结果 - 所以代码在 这些方法应该相当轻量级。