6

我想每 x 分钟从服务器中提取一些数据。如果信息包含某些信息,我想创建一个通知。即使应用程序在后台或手机处于睡眠状态,我也希望进行此轮询。我有几个关于 android 中的轮询的问题。

  • 最好的方法是什么?我应该使用
    IntentService、AlarmManager 还是其他东西?

  • 我应该多久轮询一次数据?我想保持相对频繁,比如每 10 分钟一次。

4

4 回答 4

12

除非我真的需要,否则我会AlarmManager尽量不运行连续运行的服务,但这确实取决于您将如何使用它。

如果是我,我会(基于有限的描述):-

  1. 设置一个AlarmManager在 10 分钟内开火。
  2. 响应警报,启动轮询数据的服务。
  3. 轮询后,它应该设置一个新的警报,以便在另外 10 分钟内再次触发。
  4. 该服务自行关闭。
于 2012-08-02T14:20:23.137 回答
1

您将需要使用诸如云到设备消息传递 (C2DM) 之类的东西(在 iPhone 世界中也称为推送通知)

可以在http://blog.mediarain.com/2011/03/simple-google-android-c2dm-tutorial-push-notifications-for-android找到一个很棒的教程

于 2012-08-02T14:17:20.340 回答
0

您可以使用 Handler 来监听服务器。例如,请反复检查运行代码

于 2012-08-02T14:10:28.460 回答
-5

你可以创建一个 thread这样做的。在您的运行方法中,您可以创建一个每 10 分钟轮询一次服务器的循环。

于 2012-08-02T14:21:37.183 回答