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

问题描述 投票:0回答:1

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

java android notifications android-notifications
1个回答
0
投票

[只要您在代码中使用任何其他通知ID,它都会生成一个新通知。

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

或者只是像这样使用它:

notificationManager.notify(0, notification.build());
© www.soinside.com 2019 - 2024. All rights reserved.