論理エラーのように思えます。これを数回確認しましたが、誰かが私に正しい方向を示すことができれば、すべてが正しいようです:
午前 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);
}