我在点击按钮时设置闹钟。
警报是以意图触发的。
此意图获得额外的“int”以传递给广播接收器。
问题在于,第一个意图的额外设置被设置一次 点击按钮,永远不会改变其他点击:
Intent intent = new Intent(A.this, B.class);
intent.putExtra(WAKEUP_DURATION, wakeUpDuration);
PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, 0);
我尝试在广播接收器中删除它,但没有运气:
intent.removeExtra(A.WAKEUP_DURATION);
答案 0 :(得分:8)
在创建PendingIntent
时使用FLAG_UPDATE_CURRENT
来更新新Intent
的内容。
答案 1 :(得分:5)
谢谢!这就是诀窍。 对于那些想知道确切答案的人。 “FLAG_UPDATE_CURRENT”作为方法“getBroadcast”中的第四个参数。 它应该是这样的:
PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);