在android中定期启动服务

时间:2015-03-24 16:53:23

标签: android android-service alarmmanager android-alarms

我的目标是在Android应用程序中每6小时运行一次后台服务。 我从阅读中学到的是:我需要使用alarmManager,设置闹钟,使用广播接收器接收,然后在onReceive方法中启动我的服务。

现在,我不想在某个特定时间设置闹钟,因为所有应用都会同时向服务器发送请求。我该如何解决这个问题?此外,我阅读的大多数教程都在onCreate of Activity中注册了警报。每次启动应用程序时,是否会导致多次注册警报?什么是更好的地方。

1 个答案:

答案 0 :(得分:1)

您使用

http://developer.android.com/reference/android/app/AlarmManager.html#ELAPSED_REALTIME

http://developer.android.com/reference/android/app/AlarmManager.html#ELAPSED_REALTIME_WAKEUP

使用"启动后的时间"作为基础,这正是你上面提到的情况。

此警报也没有多次注册,只要提供的PendingIntent相同。