0
私は2つのタスクをスケジュールしようとすると、毎日行われる最初の必要性 - 誕生日を確認するには、 2番目のタスクは今日の最初の日である必要があります..私は異なる時間に2つのタスクをスケジュールする必要があります
毎日午前8時に実行される1つのスケジュールを作成しようとしました。
trueの場合、2番目のタスクのメソッドを作成します。
私の問題は、onCreate()がその月の最初の日である&を完了するたびにメソッドが開始されることです。したがって、10月16日にアプリを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 [email protected]#[email protected]");
}
checkBirthdays();
}
};
timer.schedule(timerTask,d.getTime(),1000*60*60*24);//every day at 8:00 at morining..
}
はヘルパーのためにありがとうございます。
ちょっと、私の指摘は、startTimersがタイマーを作動させなかったときです。 私は自分の電話で時刻を変更して、私が午前8時に到着したら何も追加しません。 –