我目前正在Android中创建一个应用程序,它正在检查返回两件事的API。一些文字和一种颜色。
但是我希望在后台每15分钟检查一次更新,并在应用程序打开时每5秒检查一次。在后台运行时,如果状态发生变化,它应该发出通知。
现在我已经检查了很多stackoverflow q& a和论坛,文档等。但我似乎无法找到我需要的良好基线。这么多的文档与彼此相矛盾。我认为我需要一个报警管理器或服务......但是你们对我的问题有什么建议?该应用程序可能不会对电池造成太大伤害。
我真正想要的是该应用程序不需要"民意调查"服务器每隔15分钟,但应用程序被中断,如..."嘿,有一个新的状态更新"。我无法想象消息传递应用程序是否经常轮询服务器以获取更新?我还没有找到关于该主题的大量信息......感谢任何帮助。不是要求代码,而是要求我到达目的地。
非常感谢
答案 0 :(得分:1)
如果您希望每X秒/分钟轮询服务器,AlarmManager
(android guide,tutorial)正是您所需要的。但是,正如您所指出的,这可能不是解决问题的最佳方式。当应用程序打开时,您可能希望通过打开的Web Socket在设备和服务器之间传递消息。一旦您的应用程序关闭,您可以(而不是轮询服务器的应用程序)让服务器在更新可用时通过GCM或其他类似的方式向应用程序发送通知。
答案 1 :(得分:0)
如果您同时执行服务器端项目和移动应用程序,则可以使用任何消息传递服务而不是轮询服务器,因为必须从服务器端执行推送以将状态推送到MS。
现在GMS
是免费的,我希望它会保持不变:)。否则,您可以使用AlarmManager
和IntentService
来实现目标。