如何在不重新创建通知的情况下更改其内容?

时间:2020-02-05 18:46:23

标签: java android notifications android-notifications

我有一条在一段时间后会定期更新的通知。 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

1 个答案:

答案 0 :(得分:0)

每当您在代码中使用任何其他通知ID时,都会生成一个新通知。

因此,请使用静态的nofiy_id(例如,在您的strings.xml中定义的)并对其进行调用。

或者像这样使用它:

notificationManager.notify(0, notification.build());