如何清除Android通知PendingIntent



我得到了一个创建警报的"活动"。警报呼叫广播接收器。在接收中,我创建了一个通知,其中包含来自活动的附加内容(ID、标题、内容)。报警触发广播接收器创建通知井。

但是,当我重新安装应用程序或安装新版本并设置具有新标题和内容的新警报时,接收器会向我显示第一个创建通知意图。我可以创建may警报触发所有工作,但它们总是显示第一个创建通知的意图。

我使用内部应用程序计数器创建通知ID

public class CollectApplication extends Application {
private Integer reminderCount;
@Override
public void onCreate() {
reminderCount = 1;
super.onCreate();
}
public Integer getReminderCount() {
return reminderCount;
}
public void setReminderCount(Integer reminderCount) {
this.reminderCount = reminderCount;
}
}

当然,在重新安装或更新应用程序后,计数器从1开始。但我用相同的ID 1创建了一个新的意图,所以我覆盖了它,对吗?

如何覆盖它或从通知中删除意图,以创建一个带有新附加内容的新通知?

或者我应该将当前ID保存在共享首选项中吗?

如何覆盖它或从通知中删除意图,以创建一个带有新附加内容的新通知?

为新的Notification创建PendingIntent时,请使用FLAG_UPDATE_CURRENT

或者我应该将当前ID保存在共享首选项中吗?

不,因为你应该只有一个ID。不过,你可能希望保持提醒次数。

->只需添加PendingIntent.FLAG_UPDATE_CURRENT

示例:

PendingIntent PendingIntent=PendingIntent.getActivity(this,0,intent,PendingIntentit.FLAG_UPDATE_CURRENT);

最新更新