在Android中设置重复星期几闹钟

有人可以为设置每周重复的几天的警报提供良好的逻辑吗?我已经通过使用每周警报

            alarmCalendar.set(Calendar.HOUR, AlarmHrsInInt);

alarmCalendar.set(Calendar.MINUTE, AlarmMinsInInt);

alarmCalendar.set(Calendar.SECOND, 0);

alarmCalendar.set(Calendar.AM_PM, amorpm);

Long alarmTime = alarmCalendar.getTimeInMillis();

Intent intent = new Intent(Alarm.this, AlarmReciever.class);

intent.putExtra("keyValue", key);

PendingIntent pi = PendingIntent.getBroadcast(Alarm.this, key, intent, PendingIntent.FLAG_UPDATE_CURRENT);

am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 7*1440*60000 , pi);

警报按时触发,并在7天后自动触发。

但是我的要求是我要选择天数,而不是仅仅选择7天。

类似于每个星期一,星期二,星期四的9:00 AM-警报应自动触发。我该如何在setRepeating中执行此操作。

有人可以帮我这个忙吗?

谢谢!

回答:

这些问题谈论的都是您想要的。这些答案将有所帮助:

您只需要指定开始的日期,然后每7天重复一次即可。在给定问题的答案中指定了几种方法:

我如何使用警报管理器获得工作日重复警报?

特定工作日的Android通知直接关闭

如何在Android上重复警报工作日

在您的评论中,您说

如何在setRepeating中设置triggerAtMillis部分。例如说今天是星期二,我选择每周一次,星期一,星期三,星期五。-我星期三放什么?

我的理解是,如果今天是星期二,如何为星期三重复设置警报?首先,是的,您可以使用多重ID分别设置每天的警报。

然后,您可以alarmCalendar.set(Calendar.DAY_OF_WEEK,

week);在现有代码中添加行。基于工作日(从1到7),该日期重复。您可以将其作为参数传递给函数。喜欢:

    setAlarm(2); //set the alarm for this day of the week

public void setAlarm(int dayOfWeek) {

// Add this day of the week line to your existing code

alarmCalendar.set(Calendar.DAY_OF_WEEK, dayOfWeek);

alarmCalendar.set(Calendar.HOUR, AlarmHrsInInt);

alarmCalendar.set(Calendar.MINUTE, AlarmMinsInInt);

alarmCalendar.set(Calendar.SECOND, 0);

alarmCalendar.set(Calendar.AM_PM, amorpm);

Long alarmTime = alarmCalendar.getTimeInMillis();

//Also change the time to 24 hours.

am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 24 * 60 * 60 * 1000 , pi);

}

我从上述问题之一中选取了示例。希望现在更加清楚。

以上是 在Android中设置重复星期几闹钟 的全部内容, 来源链接: utcz.com/qa/423841.html

回到顶部