了解活动是在前台还是后台运行

时间:2013-05-20 07:50:00

标签: android android-notifications background-foreground

我使用某些声音来通知用户某些事件。但是,如果活动不在前台,我不希望应用程序通过声音通知用户。

如何检查应用是否在后台运行?

2 个答案:

答案 0 :(得分:4)

扩展mco的答案,如果你有前台活动,你的GCMIntentService需要做一些会触发你前景活动的工作。通常,您可以通过设置活动来响应onResume()中的某种消息并将其移除到onPause()中。

“某种消息”可能是:

  • 通过Intent
  • 发送的LocalBroadcastManager
  • 通过经典Intent
  • 发送的sendBroadcast()
  • 通过消息总线发送的消息,如Otto

答案 1 :(得分:3)

在活动周期中,当应用程序变为可见(前景)时调用onResume,当不可见时调用onPause(后台)。

当应用程序为后台/前台时,您可以使用这些功能执行任何操作。