在android中更新来自待定意图的警报

时间:2010-12-27 12:53:09

标签: android android-alarms

我正在制作闹钟项目,我想编辑已设置的闹钟。 当我编辑闹钟时,闹钟时间会更新,但我使用putExtra()发送的值不会改变。我正在使用PendingIntent.FLAG_ONE_SHOT标志。

但是,当我设置标记PendingIntent.FLAG_UPDATE_CURRENT时,所有putExtra()值也会发生变化,但现在问题是,当我点击停止按钮并finish()时,它再次调用当前活动。

表示当我完成活动时,它会在我完成当前活动时再次按下按钮。 请帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:6)

我在AlarmManager中更新PendingIntent的首选方法是取消它并重新设置它 别忘了取消:

1)AlarmManager.cancel(pendingIntent),其pendingIntent与您的待定意图相匹配(相同的类,相同的操作......但不关心额外的IntentFilter
2)pendingIntent.cancel();
3)pendingIntent = new PendingIntent() ...并进行其他设置
4)AlarmManager.set(...提供新的PendingIntent

答案 1 :(得分:1)

每个警报都有唯一的标识符,如果要更新警报,可以创建一个具有相同UNIQUE_ID的新警报。

PendingIntent pi = PendingIntent.getBroadcast(this, PENDING_INTENT_ID, intent, 0);

Check this answer