我知道这似乎是一个逻辑错误,我已经审查了几次,一切似乎都是正确的,如果有人能指出我正确的方向:
我们有一项在特定时间(上午 10 点、下午 4 点和晚上 11 点)调用的服务。该服务工作正常,通知已创建。但是,当我们使用逻辑来比较星期几时,即使它不是所讨论的日期,它也会被每天调用。
代码片段:
public void onStart(Intent intent, int startId) {
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
if (day == Calendar.SATURDAY || day == Calendar.WEDNESDAY); //always true
{
if(hour == 10 || hour == 16) //correct regardless of anterior
{
//create notification
}
else if(hora == 23)
{
//create other type of intent
}
}
super.onStart(intent, startId);
}