当前位置: 首页 > 面试题库 >

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

公良莫希
2023-03-14
问题内容

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

            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应用程序。如果手机一直开着,通知就会起作用,但当我关机或重启时,我就失去了所有的警报。我知道这是和Android的功能来提高手机的效率,但我不知道该怎么办,我该怎么解决这个问题呢? 这里是我的文件: > AlarmService.java 下面是代码: AlarmService.java } 我该怎么办?

  • 问题内容: 如何获得给定星期几的第一天? 例如,当我写这篇文章时,我们在 WEEK 29。* 我想编写一个MySQL查询,它将使用 WEEKNO 29 作为唯一可用参数返回 7月18日星期日 。 * 问题答案: 您可以使用: 这将为您提供2010年第3周的星期一日期,即2010-01-18。 另一个例子: 请给您2010年第52周的星期日日期,即2010-12-26。 最后,使用原始示例: 这给出

  • 问题内容: 我有当前日期,还有一个常数,它指示星期几。我想基于该常数获取一周的开始日期。如果我将一周的第一天硬编码为星期一(或其他任何东西),那么这很简单。但是一周的第一天一直在变化。因此,我不想在每次更改第一天时都更改代码。 这是我尝试使用Java的Calendar的方法: 我想获取一周的开始日期。上面的函数返回星期的第一天,并且星期开始日期被硬编码为星期六。每当星期开始日期以上的要求发生变化时

  • 问题内容: 我正在尝试列出本周一至周日的一周中的所有天。例如,今天(发布日期)为2011年9月4日,即星期日。 我正在启动日历并将一周的第一天设置为星期一: 当我检查每月的某天时,会得到正确的结果: 但是,当我将工作日设置为星期一时,它将跳至下一周而不是返回本周的星期一: 甚至将工作日设置为星期日也将在下个星期日而不是今天返回。 有人可以解释为什么这样做会如此,什么是解决此问题的最佳方法? 问题答

  • 本文向大家介绍android 设置闹钟及通知示例,包括了android 设置闹钟及通知示例的使用技巧和注意事项,需要的朋友参考一下 简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐。接着是一个反复闹钟,最后是一个简单的通知,具体代码如下: 布局文件(