AlarmManager取消多个事件

时间:2018-04-07 10:57:44

标签: android alarmmanager android-alarms

我正在开发一个应用程序,我需要在一天内设置多个警报。

每次我的应用程序收到Intent.ACTION_DATE_CHANGEIntent.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);
}

感谢大家提前

0 个答案:

没有答案