Я хотел знать Как настроить будильник на определенное время. Например, я хочу установить будильник для утром 9 утра ежедневно. Я много гугл, но нашел только способ установить будильник только для данного интервала. как через 2 часа или на следующий день.Alarm Manager: как вызвать диспетчер аварийных сигналов в определенное время?
1
A
ответ
1
надежда этот код поможет вам
Calendar calendar = Calendar.getInstance();
//9 AM
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, YourClass.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);
вы должны создать BroadcastReceiver получить намерения.
читать documentation для получения более подробной информации
0
Я много гулял, но нашел только способ установить будильник только для данного интервала. как через 2 часа или на следующий день.
Второй параметр setRepeating()
на AlarmManager
, когда вы хотите, чтобы сигнал тревоги, чтобы уйти первым. Установите, чтобы завтра было 9 утра, используя объект Calendar, и используйте аварийный сигнал RTC
или RTC_WAKEUP
.
+0
Спасибо. Его работа прекрасна. –
Это должно помочь: http://stackoverflow.com/questions/5938213/android-alarmmanager-rtc-wakeup-vs-elapsed-realtime-wakeup – stephendnicholas