如何删除闪电中的警报(在 js 中)

how to delete alarm in lightning (in js)

我正在用脑袋看代码……相当长一段时间。

我有一个闪电事件,由 ics 创建(包括警报)。 我想在发生某些事情后删除警报。我发现 calItemBase 有 mAlarms。但是如何删除单个报警呢? (应该只有一个)。如果没有警报,mAlarms 的正确值是多少? 如何处理 mAlarmLastAck 和其他属性?

我的解决方法是在没有警报的情况下从 ical 重新创建,但随后用户丢失了他在 UI 中为事件设置的类别和其他内容。

非常感谢,

克劳斯

可在此处查看针对某项 public 的方法摘要:http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIItemBase.idl

具体来说,有一个deleteAlarm方法。示例:

var alarms = item.getAlarms({});
item.deleteAlarm(alarms[0]);

如果确定要删除所有闹钟,也可以使用clearAlarms方法

item.clearAlarms();