2013-05-20 36 views
0

我使用某些聲音來通知用戶某些事件。但是,如果活動不在前臺,我不希望應用程序通過聲音通知用戶。瞭解前臺或後臺是否正在運行

如何檢查應用程序是否在後臺運行?

+2

什麼是處理那些「certa在事件中「?一個'服務'?一個'BroadacastReceiver'? – CommonsWare

+0

它們由'GCMIntentService'處理。 – razielsarafan

回答

4

在mco的答案上進行擴展時,如果您有前景活動,則GCMIntentService需要執行一些操作才能觸發您的前景活動。通常,您將通過設置您的活動來響應onResume()中的某種消息並刪除onPause()中的消息。

「某種信息的」 可以是:

  • 一種Intent經由LocalBroadcastManager
  • 發送的Intent經由消息總線經由經典sendBroadcast()
  • 消息中發送,如Otto
3

在活動週期中,應用程序變爲可見(前景)時調用onResume,並在不可見時(背景)調用onPause。

當應用程序爲背景/前景時,您可以使用這些函數來執行任何您想要執行的操作。