1

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

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);

它似乎在第一天触发,但不触发第二天。当我尝试每周或每月发出警报时,也会发生同样的事情。有没有更好的方法来设置长期警报?

4

1 回答 1

0

你的意思是把分号放在你的 .setRepeating 中吗?我想如果它实际上仍然存在,你的运行会崩溃:

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

应该

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

如果这只是一个错字,你的 logcat 会给出任何错误吗?

于 2011-08-26T23:11:04.987 回答