用于将Alarm Manager设置为在一周中的某一天触发的代码(android)

时间:2011-08-28 17:44:10

标签: android alarmmanager alarm

所以我编写了这段代码,用于让AlarmManager在一周的指定日期触发。麻烦的是,我真的无法坐下来等待明天弹出通知,看看我的代码是否合适!有人可以看一看,看看我写的内容是否合理?

(日是一个int(1-7表示周日至周六))

if(calendar.get(Calendar.DAY_OF_WEEK) != day)
     {
         if(day > calendar.get(Calendar.DAY_OF_WEEK))
         {
             calendar.add(Calendar.DAY_OF_MONTH, day - calendar.get(Calendar.DAY_OF_WEEK));
         }

         if(day < calendar.get(Calendar.DAY_OF_WEEK))
         {
             calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
             if(day > 1)
             {
                 calendar.add(Calendar.DAY_OF_MONTH, 7 - (calendar.get(Calendar.DAY_OF_WEEK) - day));
             }
         }
     }

2 个答案:

答案 0 :(得分:1)

为您的代码编写单元测试,并使用不同的日期,星期几来测试它。然后,您可以确定正确计算警报发射时间。任何其他问题都与AlarmManager本身有关,这是你无法控制的。

答案 1 :(得分:0)

如何更改手机上的日期/时间,让它认为是闹钟的那一天?