我正在构建一个使用闹钟管理器的应用。用户设置日期和时间,并且有7个复选框,一个用于一周中的每一天,并且他们勾选警报的那些将在他们的日子里关闭。就像我知道你可以把日期和时间放入报警管理器有什么方法我可以像日常和时间一样进入报警管理器,它们会在每周的那一天发生吗?
答案 0 :(得分:6)
AlarmManager.setRepeating作为参数:
输入 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();
interval 后续重复警报之间的间隔。
要每周重复一次,您将按一定的间隔给出一周内的毫秒数:
long interval = 1000 * 60 * 60 * 24 * 7;
或
long interval = 7 * AlarmManager.INTERVAL_DAY;