所以我编写了这段代码,用于让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));
}
}
}
答案 0 :(得分:1)
为您的代码编写单元测试,并使用不同的日期,星期几来测试它。然后,您可以确定正确计算警报发射时间。任何其他问题都与AlarmManager本身有关,这是你无法控制的。
答案 1 :(得分:0)
如何更改手机上的日期/时间,让它认为是闹钟的那一天?