我想每X分钟执行一次REST API请求来更新我的应用程序使用的数据库。
无论我的应用程序是否正在运行,都应该发生这种情况。这也意味着,如果用户重新启动他们的移动设备,轮询应该立即开始,而无需先运行应用程序。
基本上我想实现这种Unix cronjob的种类
*/5 * * * * /usr/local/bin/update_something.sh
这可以通过Android服务吗?如果是的话,你能给我一些基本的指示吗?
感谢。
答案 0 :(得分:3)
是的,您可以使用服务,但需要在某个相关时间触发/启动服务。您可以尝试使用AlarmManager
等可以每隔x分钟触发一次服务的类。
http://developer.android.com/reference/android/app/AlarmManager.html
编辑 -
要在设备启动时启动服务,您可以使用广播接收器
<action android:name="android.intent.action.BOOT_COMPLETED" />
点击此链接
http://www.androidcompetencycenter.com/2009/06/start-service-at-boot/
答案 1 :(得分:1)
所以,我就是这样做的:
BroadcastReceiver
听取可接受的广播Intent
,例如Intent.ACTION_BOOT_COMPLETED
(您将在清单中声明权限以获得该意图)BroadcastReceiver
收到该意图后,让其调用设置AlarmManager
的闹钟设置Service
。
Service every five minutes. (I don't know the details about how
AlarmManager`工作)答案 2 :(得分:0)
Android Service将是您要走的路。