Android Polling from a Server periodically

青春壹個敷衍的年華 提交于 2019-11-27 16:47:37

问题


I want to pull some data from a server every x minutes. IF the info contains certain information I would like to create a notification. I want this polling to happen even when the app is in the background, or the phone is asleep. I have a few questions about polling in android.

  • What is the best way to go about doing it? Should I use an
    IntentService, an AlarmManager, something else?

  • How often should I be polling the data? I would like to keep it relatively often, say under every 10 minutes.


回答1:


I would favour an AlarmManager as I try not to run continuously running services unless I really need to but it does really depend on how you will be using it.

If it were me I would (based on the limited description) :-

  1. Set up an AlarmManager to fire in say 10 minutes.
  2. In response to the alarm, start a service that polls the data.
  3. After polling it should set itself up with a new Alarm to fire again in another 10 minutes.
  4. The service shuts itself down.



回答2:


You'll want to use something like Cloud to Device Messaging (C2DM) (aka push notifications in the iPhone world)

A great tutorial can be found at http://blog.mediarain.com/2011/03/simple-google-android-c2dm-tutorial-push-notifications-for-android




回答3:


You could use Handler to listen the server. For example please check Run code over and over




回答4:


You could create a thread that does this. In your run method you could create a loop that polls the server every 10 minutes.



来源:https://stackoverflow.com/questions/11779132/android-polling-from-a-server-periodically

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!