【发布时间】:2017-02-28 19:21:00
【问题描述】:
我尝试安排 2 个任务,第一个需要每天完成 - 检查生日, 仅当今天是该月的第一天时,第二个任务才需要..
我尝试制定一个每天早上 8:00 完成的时间表,并在完成时检查它是否是每月的第一天。
如果它是真的,则制作第二个任务的方法。
我的问题是,该方法在每次 onCreate() 完成时以及该月的第一天开始,所以如果我在 1/10/16 打开应用程序 10 次,该方法将发生 10 次,而不是1 次。
我的代码:
onCreate()
startTimers();
startTimers 方法:
private void startTimers() {
d = new Date();
d.setTime(System.currentTimeMillis());
d.setHours(8);
d.setMinutes(0);
d.setSeconds(0);
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
if(d.getDate() == 1){
// TODO: 19/10/2016 find good if that will make it work only 1 time per month..
saveSalariesBeforeStartNewMonth();
resetSumOfMinutes();
Log.d("TAG","Started new Month good luck!@#!@");
}
checkBirthdays();
}
};
timer.schedule(timerTask,d.getTime(),1000*60*60*24);//every day at 8:00 at morining..
}
感谢帮助。
【问题讨论】:
标签: android date scheduled-tasks timertask