我有一条在一段时间后定期更新的通知。 Foreground
服务也与其相关联,因此它会不断显示。更新数据时,我必须使用 NotificationManager
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notification.setContentText("Updated Text");
notificationManager.notify(NOTIFY_ID, notification.build());
使用此方法时,每次收到通知时,都会在锁定屏幕上显示为新通知,并在收到通知时出现声音和振动。但我想摆脱这个。
是否可以在现有通知中更新数据,而无需重新创建它?例如,这是如何在天气应用程序中完成的,其中数据直接在当前通知中定期更新: Notification Widget
编辑
对于我的不准确,我深表歉意。事实证明,我正在更改旧的通知,感谢@0X0nosugar 的提示。我使用相同的 ID 进行通知更新,但每一秒我都会收到声音和振动,并且锁定屏幕上会出现连续的消息,表明我有新通知。虽然我没有收到新通知,但我正在更改相同的旧通知。
来 self 的应用程序的通知不断出现在锁定屏幕上。然而,在天气应用程序中没有观察到这一点。 And I got this
最佳答案
每当您在代码中使用任何不同的通知 ID 时,它都会生成一个新通知。
因此,使用静态 nofiy_id(例如在 strings.xml 中定义)并调用它。
或者像这样使用它:
notificationManager.notify(0, notification.build());
关于java - 如何更改通知的内容而不重新创建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60082261/