[英]How to trigger the function every day at a specific time
我正在开发和android应用程序。 这个程序有几个活动。 无论应用程序显示什么活动,我都需要每天凌晨2点在服务器上执行查询。 我目前正在使用Timer和TimerTask,如下所示:
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
public void run() {
makePostToServer()
}
};
timer.scheduleAtFixedRate(timerTask, getDate(), 1000 * 60 * 60 * 24); // 24 h
private Date getDate() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
cal.set(Calendar.HOUR_OF_DAY, 2);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
return cal.getTime();
}
是否有可能由于某种原因在应用程序启动时启动的计时器停止工作? 因为服务器日志并不总是包含有关已执行查询的信息。 好像没有发生。
也许有更好的方法每天在2点调用函数。
最好的祝福
代替此工作经理来满足您的需求,这是非常有效的。 在这种情况下,您可以使用定期工作管理器 。
查看此以供参考。 https://developer.android.com/topic/libraries/architecture/workmanager
快乐编码!
有几种API可用于安排Android中的任务:
您可以轻松找到很多样本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.