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

Avi*_* L. 3 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);
Run Code Online (Sandbox Code Playgroud)

我尝试在广播接收器中删除它,但没有运气:

intent.removeExtra(A.WAKEUP_DURATION);
Run Code Online (Sandbox Code Playgroud)

Com*_*are 8

FLAG_UPDATE_CURRENT在创建时使用PendingIntent以更新新的附加内容Intent.


Avi*_* L. 5

谢谢!这就是诀窍.对于那些想知道确切答案的人."FLAG_UPDATE_CURRENT"作为方法"getBroadcast"中的第四个参数.它应该如下所示:

PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)