安排一个重复的闹钟

Schedule a repeating alarm clock

我正在尝试为特定时间安排重复闹钟(每周重复)。我得到的最接近的是:

获取准确时间:

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, alarmHour);
calendar.set(Calendar.MINUTE, alarmMinute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

calendar.add(Calendar.DATE, dateDelta);

long time = calendar.getTimeInMillis();

然后设置闹钟(我的问题来了):

val clockInfo = AlarmManager.AlarmClockInfo(time, homePI)
alarmManager.setAlarmClock(clockInfo, alarmTriggerPI)

问题是要使其重复,我需要再次手动触发此代码。

如果我使用 setRepeating 而不是 setAlarmClock 那么我会丢失警报通知(对于较新的手机)。 同样,这个想法只是启动一个正常的闹钟,如果设置为在星期五响起,它将在每个星期五响起。

Mike 的评论是正确答案。简而言之,你必须手动触发它。