2015-12-13 123 views
0

我對服務和廣播接收器的正確實施有些懷疑。Android通知服務

我做了一個應用程序,其中有新奇的東西。有些新奇事物很重要,所以在數據庫中他們有一個他們存儲的領域,如果他們很重要或不重要的話。如果他們是,應用程序應該檢查用戶看到的最新新穎是否是最新的。如果用戶沒有看到重要的新奇事物,這應該會觸發通知。

我知道如何在Android中顯示通知,並且我在我的Web服務中有一個方法,它顯示用戶是否有新鮮事物可供閱讀。我只需要知道如何讓我的應用程序在隨機時間內消耗這些內容,而不會被打開(就像Whatsapp一樣)。 我已經閱讀了BroadcastReceiver和Services文檔,但我不知道如何以有效的方式做到這一點。 我是否讓BroadcastReceiver在電話啓動時調用服務?並讓此服務隨機檢查時間?

非常感謝!

回答

0

你想要的是一個foreground service與一個BroadcastReceiver啓動啓動服務。查看this answer並進行必要的更改以使用startForeground()而不是startService。

+0

嗯......我不希望有一個服務在運行時顯示通知。我不想要一個沉默的服務,如果它發現新的新奇事物,就會顯示通知。我可以使用普通服務(沒有startForeground)嗎? – Ronan

+0

是的,你也可以做到這一點。你甚至可以讓普通的服務啓動通知服務,或其他任何你能想象的事情。 – alzee

+0

嗨, 我研究發現,GCM是最好的選擇。您無法運行後臺服務並檢查服務器中的每一分鐘:這消除了電話的電池和其他資源。 – Ronan