【发布时间】:2012-01-16 08:33:48
【问题描述】:
我使用相同的 pendingIntent 来设置多个警报,每个警报使用不同的 intentId。警报器正在工作。现在我想取消一个特定的警报。如果我使用 cancel() 方法,我最终会取消所有警报。我只想删除一个特定的。即使在第二次或第三次启动期间,用户也应该能够取消此警报。就像我第二次启动它时一样,我不会拥有相同的 pendingIntent 对象。我必须坚持pendingIntent 对象吗?如果是这样,怎么做?以及如何从多个警报中取消单个警报?
【问题讨论】:
-
我不知道有一种方法可以从具有相同待处理意图的一组警报中取消单个警报。但是您可以使用某种持久性方法(共享首选项、文件、sqlite...)将特定警报时间标记为已取消,并在通过警报意图调用的代码中评估保存的信息以确定警报是否已被取消。取消。或者您可以取消所有警报,然后设置除一个之外的所有警报(如果您仍然知道所有时间)。顺便说一句,你不需要原来的待定意图,你可以创建一个新的。
标签: android android-alarms alarms