AlarmManager怎么取消所有先前设置的警报
来源:爱站网时间:2022-10-06编辑:网友分享
有不少朋友问:AlarmManager怎么取消所有先前设置的警报?为了帮助各位小伙伴解决文章,爱站技术频道小编特地整理了以下相关资料,如果你感兴趣的话可以随时来关注收藏下。
问题描述
我有一个使用AlarmManager的应用程序,并且我基于数据库中的某些项添加了警报,但是,我想取消所有先前设置的警报,以使该应用程序不会再次设置它们,因此创建了很多重复的通知。有没有一种方法可以取消所有警报而没有PendingIntent ID?我会随机生成它,因此无法确定哪些ID。
思路:
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent myIntent = new Intent(getApplicationContext(), SessionReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
getApplicationContext(), 1, myIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
我知道您说的没有PendingIntent,但是您可以做的是设置一些逻辑,在该逻辑中,选择该项目后,您启动上面的代码以取消可能已经设置的警报,然后在那之后启动一个新的警报。
不知道朋友们看懂了这篇AlarmManager怎么取消所有先前设置的警报内容没有,不明白可以随时来网站咨询小编。爱站技术频道网站提供了很多精彩的技术文章,喜欢的朋友可以来关注下。