如何使用其他活动取消多个警报

时间:2017-04-08 08:23:44

标签: android android-intent android-alarms

list_of_numbers = range(0, 5) list_of_objects = [MyClass(i) for i in list_of_numbers] list_of_sim = [simulation(id=k, worker=obj, multiply_by=100*k, add_to=10*k) \ for k, obj in enumerate(list_of_objects)] for sim in list_of_sim: sim.start() 触发器创建备注Activity!并Alarm删除其他Alarm中的代码,只删除最后一次触发Activity表示如果 3 Alarm已创建,我想删除{{ 1}} 1 它会删除,但当Alarm 1 的时间到达时触发它已被删除且不会触发其他Alarm 2和3 ,在静态广播ID上它仅触发最后一次警报,例如警报 3 触发删除其他活动中的代码,如果它在其他活动中使用相同的待处理意图删除我怎样才能使用在我的删除警报活动中使用触发警报的未决意图

Alarm

2 个答案:

答案 0 :(得分:0)

PendingIntent需要与启动AlarmManager时完全相同。

创建PendingIntent以取消闹钟时,请使用PendingIntent.FLAG_UPDATE_CURRENT代替0。 FLAG_UPDATE_CURRENT等于常量134217728,而不是0

答案 1 :(得分:0)

使用此代码:

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, _id, intent, 0);
        AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
        alarmManager.cancel(pendingIntent);

希望这有帮助。