Android 防止同一通知的多次更新

Jam*_*zio 5 notifications android

我每 x 分钟从服务器轮询一次以获取邀请用户参加的事件。假设用户有一个新邀请并在上午 10:00 收到通知。用户从不单击通知,我想防止用户在 x 分钟后收到包含相同信息的另一个通知。基本上我想允许独特的通知仅显示一次并提醒用户一次。

您可能认为这行代码可以完成我想要的任务,但事实并非如此。

notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?

sat*_*ine 5

我不确定您的问题是看到多个通知还是只是发生多个声音/振动。您需要做两件事:

  1. 是,使用Notification.FLAG_ONLY_ALERT_ONCENotificationCompat.Builder#setOnlyAlertOnce(),这样可以防止更新通知时出现声音和振动
  2. 为了防止通知区域中出现多个通知,您需要确保调用时的NotificationManager#notify(id, builder.build());id对于该特定事件始终是相同的。