4

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

你会认为这行代码可以做我想要的,但事实并非如此。

notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;

有人有想法么?

4

1 回答 1

4

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

  1. 是的,使用Notification.FLAG_ONLY_ALERT_ONCEor NotificationCompat.Builder#setOnlyAlertOnce(),这将防止更新通知时发生声音和振动
  2. 为了防止多个通知出现在通知区域中,您需要确保在调用时NotificationManager#notify(id, builder.build());id一个一致的值,该值对于该特定事件始终相同。
于 2015-10-28T20:06:32.403 回答