Android - 如何重新安排与应用事件相关的警报

时间:2014-10-21 08:04:50

标签: android alarmmanager android-notifications android-alarms

我发现了许多关于如何使用AlarmManager(定期或单个)发出警报的示例和问题,但没有类似于我需要的内容。

我的用户可以安排一定数量的事件(即要做的事情),并在计划开始前一天发出单次警报,每个事件都会被触发(显示通知) 。这很简单。 我的问题是这个预定的开始时间可以改变,因此警报也应该移动。

我正在考虑删除旧警报,并考虑新的计划启动创建一个新警报。知道我可以使用alarmMgr.cancel(alarmIntent)删除警报,如何删除与重新安排事件相关的特定警报?我应该以某种方式使每个alarmIntent独一无二吗? 或者有一种更好的方式我没有考虑(除了使用Google Calendar API来安排和重新安排那里的活动,并让它管理通知)?

1 个答案:

答案 0 :(得分:0)

使用set()API

安排闹钟时
public void set (int type, long triggerAtMillis, PendingIntent operation)

在最后一个参数中,您可以使用getBroadcast

提及请求代码
public static PendingIntent getBroadcast (Context context, int requestCode, Intent intent, int flags)

这方面的一个例子是:

alarm.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getBroadcast(mContext, id, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));

如果您想取消或重新安排,可以使用' id'指定哪个警报。