如何修改使用StartForeground创建的通知?

时间:2016-12-30 18:00:16

标签: android service notifications foreground

我有一个需要作为前台服务运行的服务。 要实现这一点,必须将通知链接到它。

当服务启动时,我将OnGoing设置为true,当用户与Notification交互以停止服务时,我想将当前Notification更改为OnGoing(false)。 (因此,如果需要,用户可以解除通知) 我希望通知仍然可见,以便用户可以在通知中再次启动服务。

通常情况下,我必须使用NoficiationManager来使用特定ID进行注释,然后对其进行修改。 但是,通过调用StartForeground(标志,通知),没有设置ID的选项。

如何将OnGoing(true)通知(以StartForeground调用启动)修改为OnGoing(false)?

1 个答案:

答案 0 :(得分:0)

我认为您的想法是正确的:您必须使用ID,然后使用该ID更新通知。

startForeground方法的第一个字段不是标志而是ID。签名:

void startForeground (int id, Notification notification)

文档here

因此,您可以使用相同的ID更新通知。

mNotificationManager.notify(sNotificationId, notification);