AlarmManager стреляет не вовремя
Я пытался выполнять какую-то задачу один раз в день, используя AlarmManager
как в следующем коде.
public void start_alarm(){
SharedPreferences.Editor editor=alarm_prefs.edit();
editor.putString("alarm", "alarm");
editor.apply();
editor.clear();
Intent start_alarm=new Intent(MainPage.this,MailService.class);
PendingIntent pi=PendingIntent.getService(MainPage.this, 100, start_alarm, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE,1);
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),1000*60*60*24,pi);
}
Alarm
не выпустил никаких проблем в этом. Но как в коде я установил будильник на 12:30 AM
, Но приведенный выше код вызывает тревогу в 06:30 AM
, Я делаю что-то не так, пожалуйста, сообщите мне. Я установил сигналы тревоги в другом приложении в 12:15 AM
, Но это также стреляет в неправильное время, т.е. 06:15 AM
, Пожалуйста, помогите мне с этим.
1 ответ
Для установки будильника на 12.30 AM
Вы можете попробовать этот код.
// Set the alarm's trigger time to 12.30 A.M
calendar.add(Calendar.DATE,1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
вместо
calendar.add(Calendar.DATE,1);
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);