如何始終保持設備上運行的活動?如何讓活動運行來檢查網絡?
我試圖創建一個像Whatsapp這樣的聊天應用程序,並且我希望保持活動始終運行,即使屏幕已關閉或設備所有者在其他應用程序中檢查是否有新消息以便向用戶顯示通知。
就完全一樣的聊天應用:WhatsApp的,Viber的,臉譜,Voxer等
如何始終保持設備上運行的活動?如何讓活動運行來檢查網絡?
我試圖創建一個像Whatsapp這樣的聊天應用程序,並且我希望保持活動始終運行,即使屏幕已關閉或設備所有者在其他應用程序中檢查是否有新消息以便向用戶顯示通知。
就完全一樣的聊天應用:WhatsApp的,Viber的,臉譜,Voxer等
這正是Services是。
您可以使用Handler來檢查服務器中的任何新更新,但這不是一個好方法,因爲像這樣的網絡突發將會非常昂貴。
或者你可以使用一個IntentService,它將繼續監聽從服務器到你的設備的任何推送消息,就像推送通知一樣,這可能是你試圖實現的。
這些應用程序不會「保持活動運行以檢查網絡」。許多人會使用[GCM](http://developer.android.com/google/gcm/index.html)。有些人會使用他們自己的GCM替代品,由「服務」提供支持。有些人會使用'AlarmManager'或'JobScheduler'定期檢查新消息。從功耗和帶寬的角度來說,做到這一點是非常重要和困難的。 – CommonsWare
雖然服務是答案的可能部分。 您的交付協議也很重要。 您是否像使用舊的gTalk一樣使用XMPP(jabber)? GCM?解析推送通知? –
感謝您的回答 –