使用AlarmManager,您可以在特定时间设置闹钟,并在指定的时间间隔重复闹钟
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), 4*60*60*1000, alarmIntent);
在示例中,警报每4小时重复一次,但是是否可以设置在特定时间触发并在特定时间重复的警报?例如:我想设置一个警报,在9:00开始服务,并在11:30,17:30和20:00重复。该服务必须在大约这几个小时开始。
有什么想法吗?
答案 0 :(得分:4)
为什么不这样呢?
long now = calendar.getTimeInMillis();
long time24h = 24*60*60*1000;
long timeAt09_00 = ...; // calculate from now...
long timeAt11_30 = ...; // calculate from now...
alarmMgr1.setInexactRepeating(AlarmManager.RTC_WAKEUP, now , time24h, alarmIntent);
alarmMgr2.setInexactRepeating(AlarmManager.RTC_WAKEUP, timeAt09_00, time24h, alarmIntent);
alarmMgr3.setInexactRepeating(AlarmManager.RTC_WAKEUP, timeAt11_30, time24h, alarmIntent);
答案 1 :(得分:2)
你可以创建4个警报,从{00},11:30,17:30和20:00开始AlarmManager.setRepeating()
,并设置重复间隔为24小时(= 24 * 60 * 60 * 1000)
答案 2 :(得分:1)
使用AlarmManager.setRepeating()
方法。
有关示例,请参阅AlarmManager Repeat。
以下是有关Scheduling Repeating Alarms的Android文档,其中包含说明和示例代码。