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

标签 android notifications

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

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

notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;

有人有什么想法吗?

最佳答案

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

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

关于Android 防止同一通知的多次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959014/

相关文章:

android - 翻译动画从屏幕开始而不是它所属的地方

Android viewpager检测越界滑动

android - 像 <b> <i> <a> 这样的 html 标签在发送到 ACTION_SEND 时不能与 HTML.fromHtml() 一起使用

android - Android 的警报管理器

Android通知BigPictureStyle消失文字

android - 通知以恢复任务而不是特定 Activity ?

mysql - 如何从服务器向客户端发送消息?

java - 在小米设备的锁定屏幕上显示通知

android - Android 中 "Java class extends" "AppcompatActivity"与 "Activity"与 "ActionBar"之间的区别?

Android:如何从命令行(终端仿真器或 shell 脚本)创建通知?