【发布时间】:2012-07-31 12:33:01
【问题描述】:
我想每 x 分钟从服务器中提取一些数据。如果信息包含某些信息,我想创建一个通知。即使应用程序在后台或手机处于睡眠状态,我也希望进行此轮询。我有几个关于 android 轮询的问题。
最好的方法是什么?我应该使用一个
IntentService、AlarmManager 还是别的什么?我应该多久轮询一次数据?我想保留它 相对频繁,比如每 10 分钟一次。
【问题讨论】:
我想每 x 分钟从服务器中提取一些数据。如果信息包含某些信息,我想创建一个通知。即使应用程序在后台或手机处于睡眠状态,我也希望进行此轮询。我有几个关于 android 轮询的问题。
最好的方法是什么?我应该使用一个
IntentService、AlarmManager 还是别的什么?
我应该多久轮询一次数据?我想保留它 相对频繁,比如每 10 分钟一次。
【问题讨论】:
您可以使用 Handler 来监听服务器。例如请查看Run code over and over
【讨论】:
您会想要使用诸如云到设备消息传递 (C2DM) 之类的东西(在 iPhone 世界中也称为推送通知)
可以在http://blog.mediarain.com/2011/03/simple-google-android-c2dm-tutorial-push-notifications-for-android找到一个很棒的教程
【讨论】:
我倾向于AlarmManager,因为我尽量不运行持续运行的服务,除非我真的需要,但这确实取决于你将如何使用它。
如果是我,我会(基于有限的描述):-
AlarmManager 以在 10 分钟内触发。【讨论】:
您可以创建一个thread 来执行此操作。在您的运行方法中,您可以创建一个每 10 分钟轮询一次服务器的循环。
【讨论】: