1
我想AlarmManager重複在預定時間的任務(每週)爲什麼我的AlarmManager會立即觸發?
我用下面的代碼:
for (Integer day : daysList) {
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, PersonalUtils.getDigitalWeek(day));
c.set(Calendar.HOUR_OF_DAY, task.getHour());
c.set(Calendar.MINUTE, task.getMinute());
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
intent.putExtra("id", task.getId());
PendingIntent operation = PendingIntent.getService(
getApplicationContext(), requestCode, intent, 0);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(),
AlarmManager.INTERVAL_DAY * 7, operation);
}
然而,報警吧過早觸發。
例如:假設現在是星期三18:30。我設置了一個應該在下週17:30週二觸發的任務,但是立即觸發警報
有人可以告訴我爲什麼嗎?
你可以檢查c.getTime()後設置的一切,我認爲有一些失算。您可能需要先在日曆上設置下週的Time(),然後再使用。 – Prakash
如果您設置了已經通過的日期,警報將立即觸發。 – Endzeit