我每隔48小时(即两天)在午夜12点发出警报。
这是我的代码
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR, 12); // MIDNIGHT 12 AM
calendar.set(Calendar.MINUTE,00);
calendar.set(Calendar.SECOND, 00);
calendar.getTime().toString();
dayAlarmMgr.setRepeating(
AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY * 2, // EVERY TWO DAYS
dayAlarmIntent);
现在,当我运行该应用程序时,我的警报今天上午12点发出警报,但是根据要求,它应该在48小时后起火。
那么我怎样才能在上午12点48小时后开火呢?
答案 0 :(得分:4)
第一次闹钟响起时,您需要添加2天。您还应该使用Calendar.HOUR_OF_DAY
,因为它更直接。
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 0); // MIDNIGHT 12 AM
calendar.set(Calendar.MINUTE,00);
calendar.set(Calendar.SECOND, 00);
calendar.add(Calendar.HOUR_OF_DAY, 48);
dayAlarmMgr.setRepeating(
AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY * 2, // EVERY TWO DAYS
dayAlarmIntent);