Странно, что является причиной метода setInexactRepeating trigger примерно в заданное время, а не точное время.Почему setInexactRepeating в диспетчере аварийных сигналов срабатывает некорректно
мне нужно, чтобы вызвать тревогу на каждый день основе в определенный момент времени, я бы сказал
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
// Set the alarm's trigger time to 8:30 a.m.
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 30);
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
Я установил Время 8:30 утра в календаре, когда я перенести день устройства на следующий день, сигнализация получить триггер сразу, даже до того, как я переключу время устройства на 8:30 утра.
Что здесь происходит, почему я не могу сделать точный триггер, используя этот api, если у вас есть опыт, вы могли бы поделиться своим опытом. Благодаря!
@Mike, это «setInexactRepeating» – chethan
Да, извините, я не рассматривал возможный языковой барьер. «Неточность» означает «не точный». Если вам нужен точный, повторяющийся сигнал тревоги (начиная с KitKat), вам нужно использовать метод 'setExact *()' и каждый раз, когда он запускается, каждый раз устанавливайте будильник. –