【问题标题】:How can Service determine, if UI visible now服务如何确定 UI 现在是否可见
【发布时间】:2013-05-28 11:14:43
【问题描述】:

我尝试让通知仅在应用程序 UI 可见时才有效。 我试图存储写在onStart()onStop() 中的Activity 的偏好。但有时,它不起作用,因为另一个应用程序在没有调用 MyActivity.onStop() 的情况下变得可见。

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

【问题讨论】:

    标签: android service notifications android-activity


    【解决方案1】:

    如果您已经有代码来跟踪应用 UI 的状态,您只需将代码放入 onPause()onResume() 而不是 @ 即可使其工作987654326@和onStop()

    用户界面可能不可见或部分隐藏,甚至在 onStop() 被调用之前......正如您所发现的那样。

    在此处查看 Android Activity 生命周期图:

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

    并注意the description

    活动的前台生存期发生在调用 onResume() 直到对应调用 onPause()。在这段时间 该活动在所有其他活动之前并与 用户。活动可以经常在恢复和暂停之间切换 状态——例如当设备进入睡眠状态时,当活动时 结果被传递,当一个新的意图被传递时——所以代码在 这些方法应该是相当轻量级的。

    Read more about this in another question here.

    【讨论】:

    • 是的,这是最简单的方法,我会尝试的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2017-10-16
    • 1970-01-01
    • 2014-03-08
    • 2010-12-25
    • 1970-01-01
    相关资源
    最近更新 更多