android Alarmmanager不会重复长时间间隔

时间:2011-08-26 23:03:41

标签: android alarmmanager android-intent android-pendingintent

我确定我做错了什么但是当我设置警报执行以下操作时,我不能让警报管理器多次触发:

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 :(得分:0)

你的意思是把那个分号放在你的.setRepeating中吗?我想如果它真的还在那里你的跑会崩溃:

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

应该是

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

如果那只是一个错字,你的logcat是否会出现任何错误?