Android Alarmmanager не повторяется в течение длительных интервалов - PullRequest
1 голос
/ 27 августа 2011

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

AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, ReminderAlarmReceiver.class);
i.setData(Uri.parse(REMINDER_ID + getReminderID() + getTriggerAtTime()));
i.putExtra(REMINDER_ID, reminderID);
i.putExtra(DiaryListItem.DIARY_ID, parentDiaryID);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY;, pi);

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

1 Ответ

0 голосов
/ 27 августа 2011

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

mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY;, pi);

должно быть

mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY, pi);

Если это была просто опечатка, выдает ли ваша logcat какую-либо ошибку?

...