我正在构建一个使用闹钟管理器的应用程序。用户设置日期和时间,并有7个复选框,分别对应每周7天中的一天,他们勾选的那些天闹钟会在这些天响起。我知道可以将日期和时间放入闹钟管理器中,但是否有办法将日期和时间放入闹钟管理器中,然后该闹钟会每周在那一天响起?
我正在构建一个使用闹钟管理器的应用程序。用户设置日期和时间,并有7个复选框,分别对应每周7天中的一天,他们勾选的那些天闹钟会在这些天响起。我知道可以将日期和时间放入闹钟管理器中,但是否有办法将日期和时间放入闹钟管理器中,然后该闹钟会每周在那一天响起?
AlarmManager.setRepeating接受以下参数:
type ELAPSED_REALTIME、ELAPSED_REALTIME_WAKEUP、RTC或RTC_WAKEUP中的一个。
在这里,您需要选择RTC或RTC_WAKEUP。
triggerAtTime 闹钟应该首次响起的时间,使用适当的时钟(取决于闹钟类型)。
在这里,您需要提供第一个闹钟的日期/时间(我相信这必须是UTC时间,所以请小心)。
Calendar calendar = new GregorianCalendar(2011, Calendar.APRIL, 19, 23, 12);
long firstTime = calendar.getTimeInMillis();
间隔:重复警报的时间间隔。
如果要每周重复,您需要将间隔设置为一整个星期的毫秒数:
long interval = 1000 * 60 * 60 * 24 * 7;
long interval = 7 * AlarmManager.INTERVAL_DAY;