没有删除/替换意图的额外内容

时间:2011-06-12 20:31:28

标签: android android-intent

我在点击按钮时设置闹钟。

警报是以意图触发的。

此意图获得额外的“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);

2 个答案:

答案 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);