我每 x 分钟从服务器轮询一次,以获取邀请用户参加的事件。假设用户有一个新邀请并在上午 10:00 收到通知。用户从不点击通知,我想阻止用户在 x 分钟后收到包含相同信息的另一个通知。基本上我想让唯一的通知只显示一次并提醒用户一次。
你会认为这行代码可以做我想做的事,但事实并非如此。
notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;
有人有什么想法吗?
最佳答案
我不确定您的问题是看到了多个通知还是只是出现了多个声音/振动。您需要做两件事:
- 是的,使用
Notification.FLAG_ONLY_ALERT_ONCE
或NotificationCompat.Builder#setOnlyAlertOnce()
,这将防止在更新通知时出现声音和振动 - 要防止通知区域中出现多个通知,您需要确保在调用
NotificationManager#notify(id, builder.build());
时id
是一个一致的值,对于该特定事件始终相同。
关于Android 防止同一通知的多次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959014/