Аварийный сигнал срабатывает, если время увлажнителя, чем текущее системное время в android

Я использую диспетчер аварийных сообщений, чтобы назначить будильник в определенное время. Я столкнулся с проблемой, которая заключается в том, что если я установил время раньше, чем текущее системное время, то действие тревоги будет немедленно запущено. Как предотвратить такое поведение? благодаря

Мой код:

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Intent serviceIntent = new Intent(context,AlarmService.class); PendingIntent pendingIntent = PendingIntent.getService(context.getApplicationContext(), 234324243, serviceIntent, 0); /*sample of setting eariler time timeAlarm.set(Calendar.YEAR, 2013); timeAlarm.set(Calendar.MONTH, 10); timeAlarm.set(Calendar.DAY_OF_MONTH, 13); timeAlarm.set(Calendar.HOUR_OF_DAY, 12); timeAlarm.set(Calendar.MINUTE, 9); timeAlarm.set(Calendar.SECOND, 0); */ alarmManager.set(AlarmManager.RTC_WAKEUP, timeAlarm.getTimeInMillis(), pendingIntent); 

Это связано с тем, что диспетчер аварийных сигналов Android создан именно этим. Вы можете изменить свое время, если время, предшествующее текущему системному времени, на 1 день или более. как это:

 Calendar c = Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY, hour); c.set(Calendar.MINUTE, minute); c.set(Calendar.SECOND, second); if (c.getTimeInMillis() < System.currentTimeMillis()){ c.add(Calendar.DAY_OF_MONTH, 1); }