在特定日期设置Android闹钟管理器

3

我正在构建一个使用闹钟管理器的应用程序。用户设置日期和时间,并有7个复选框,分别对应每周7天中的一天,他们勾选的那些天闹钟会在这些天响起。我知道可以将日期和时间放入闹钟管理器中,但是否有办法将日期和时间放入闹钟管理器中,然后该闹钟会每周在那一天响起?

1个回答

6

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;

2
如果这个答案对您有用并解决了您的问题,请标记它为已接受的答案(使用左侧的勾号)。 - Vincent Mimoun-Prat
感谢您的确认。我在自己做这件事情,看到您提供的解决方案与我想到的一致,这让我更有信心。 - Leo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接