如果UI现在可见,服务如何确定

时间:2013-05-28 11:14:44

标签: android service notifications android-activity

我尝试制作通知,只有在应用UI 不可见时才能使用通知。 我尝试存储用我onStart()的{​​{1}}和onStop()写的首选项。但有时,它不起作用,因为在没有调用Activity的情况下,另一个应用程序变得可见。

如果MyApplication现在可见,我可以使用哪种方法来确定服务?或者,也许是MyActivity?

1 个答案:

答案 0 :(得分:1)

如果您已经有代码来跟踪应用UI的状态,那么只需将代码放在onPause()onResume()中,就可以让它工作正常而不是onStart()onStop()

即使在onStop()被调用之前,UI也不可见或部分隐藏......正如您所发现的那样。

在这里查看Android Activity生命周期图:

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

并注意the description

  

活动的前景生命周期在调用之间发生   onResume() onPause(),直到相应的{{1}}来电。在这段时间   活动在所有其他活动面前并与之互动   用户。活动可以经常在恢复和暂停之间进行   状态 - 例如当设备进入睡眠状态时,何时进行活动   交付新的意图时会传递结果 - 所以代码在   这些方法应该相当轻量级。

Read more about this in another question here