我使用相同的pendingIntent来设置多个警报,每个警报使用不同的intentId。警报正在工作。现在我想取消一个特定的闹钟。如果我使用 cancel() 方法,我最终会取消所有警报。我只想删除特定的一个。此外,即使在第二次或第三次启动期间,用户也应该能够取消此警报。当我第二次启动它时,我不会有相同的pendingIntent对象。我必须保留pendingIntent 对象吗?如果是这样,怎么办?如何从多个警报中取消单个警报?
你可以这样做,
在您的 Pending Intent 中,您可以传递unique ID
代替requestCode
PendingIntent pi = PendingIntent.getBroadcast(context, unique_id, i, 0);
要取消,您可以使用相同的唯一 ID 来取消它,使用相同的待处理意图。
am.cancel(pi);
要获取更多信息,您可以使用 StackOverflow 或 Google,目前我认为this answer https://stackoverflow.com/questions/3273342/how-can-i-setup-multiple-alarms-in-android会为你做的。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)