我有一个在一段时间后会定期更新的通知。 Foreground
服务也与此相关联,因此它会不断显示。更新数据时,我必须使用NotificationManager
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notification.setContentText("Updated Text");
notificationManager.notify(NOTIFY_ID, notification.build());
使用此方法时,每次到达通知时,通知都会在锁定屏幕上显示为新通知,并且在收到通知时会出现声音和振动。但我想摆脱这一点。
是否有可能在现有通知中已经对数据进行了更新,而无需重新创建?例如,在天气应用程序中如何完成此操作,其中数据会在当前通知中直接定期定期更新:Notification Widget
编辑
我为我的不准确表示歉意。事实证明,由于@ 0X0nosugar的提示,我正在更改旧的通知。我使用相同的ID进行通知更新,但是每隔一秒钟我都会听到声音和振动,并在锁定屏幕上连续收到一条消息,提示我有新的通知。尽管我没有收到新的通知,但我正在更改相同的旧通知。
我的应用程序发出的通知不断出现在锁定屏幕上。但是,这在天气应用程序中未观察到。And I got this
[只要您在代码中使用任何其他通知ID,它都会生成一个新通知。
因此,请使用静态的nofiy_id(例如,在您的strings.xml中定义)并调用它。
或者只是像这样使用它:
notificationManager.notify(0, notification.build());