如何从android有限间隔轮询web服务?

sou*_*jee 8 notifications android web-services android-alarms android-notifications

我正在开发一个Android应用程序来显示通知.如何以有限的间隔(例如间隔10分钟)轮询网络服务以检查任何更新并在android通知面板中显示为通知.

Gra*_*ith 9

并不需要的服务.我觉得自己像是破纪录.在这个用例中,服务将在那里停留95%的时间,但仍然使用系统资源,更重要的是耗尽电池.

请参阅我使用AlarmManager中的警报的类似问题的答案:

定期运行任务(每天一次/每周一次)

编辑:

请参阅Android开发网站上的本教程,了解如何实施通知:http://developer.android.com/guide/topics/ui/notifiers/notifications.html


Ric*_*hie 6

Google C2DM提供了Cloud to Device Messaging服务.您可以使用此服务将消息推送到所有已注册的移动设备.这不仅可以提高性能,还可以确保在连续轮询服务器时电池没有耗尽.

对于您的场景,您可以在java类中编写以定期轮询Web服务并使用C2DM服务将消息推送到您的Android手机,该手机可以显示为通知.在链接上查看Vogella的本教程.或者更好的是,如果您仅仅是为了获取更新的详细信息而使用Web服务,那么您可以避免使用Web服务并直接调用C2DM推送服务,以便在发生更改时将消息推送到所有已注册的设备.

希望这有帮助.:)

  • 对于未来的搜索者:C2DM已被弃用并被GCM取代:http://developer.android.com/guide/google/gcm/index.html; 迁移指南:http://developer.android.com/guide/google/gcm/c2dm.html (2认同)