所以我写了这段代码来让AlarmManager在一周的指定日期启动。问题是,我真的不能坐着等明天的通知弹出来,看看我的代码是否正确!谁能帮我看一下我写的是否有意义?
(day为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));
}
}
}
为您的代码编写一个单元测试,并使用不同的日期,一周中的几天进行测试。然后您可以确定您正在正确地计算警报时间。任何其他问题都与AlarmManager本身有关,这超出了您的控制范围。
如何改变日期/时间在手机上,使它认为这是一天的闹铃?