我希望Android应用每30(或任何间隔)分钟与服务器同步,并通知用户是否有任何更改。
我已经尝试[JobScheduler][1]
了。似乎[JobScheduler][1]
以优化的间隔运行事件而不是以精确的间隔运行。有人建议[AlarmManager][1]
,但我认为这也行不通 - 它还会检查电池优化。 (setExactTime
和setExactAndAllowWhileIdle
也在优化的时间运行)
我希望应用程序能够以确切的间隔与服务器同步,无论如何。
答案 0 :(得分:0)
您可以使用计时器
Timer timer = new Timer();
然后扩展计时器任务
class SyncData extends TimerTask {
public void run() {
//call after every 30min
}
}
然后使用一些更新间隔将新任务添加到Timer
TimerTask syncData = new SyncData();
timer.scheduleAtFixedRate(syncData,1000*10);//this will run after every 10 sec
注意:只有当您的应用程序处于后台时,如果您希望在应用程序处于后台时调用api,而不是请用户服务和 AlaramManager ,它才会起作用。< / p>