我正在开发一个应用程序,我需要在一天内设置多个警报。
每次我的应用程序收到Intent.ACTION_DATE_CHANGE
或Intent.ACTION_BOOT_COMPLETED
时,我都会安排当天的闹钟安排。
如果用户希望接收每个事件类别的基于警报的提醒,则可以更改应用程序首选项中的用户。
如何取消所有针对单个类别的闹钟?
实际上我以这种方式安排活动:
AlarmManager alarmMan = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
for (MyCustomEvent evt : events) {
Intent intentEvt = new Intent(context, ReceiverNotificationPublisher.class);
// the id is long value
intentEvt.putExtra(ReceiverNotificationPublisher.ITEM_ID, evt.getId());
// the category is int value
intentEvt.putExtra(ReceiverNotificationPublisher.ITEM_CATEGORY, evt.getCategory());
// others values here
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, evt.getCategory(), intentEvt, PendingIntent.FLAG_UPDATE_CURRENT);
// set event
alarmMan.setExact(AlarmManager.RTC_WAKEUP, evt.getTimestampMillis(), pendingIntent);
}
感谢大家提前