如何在Android Lollipop中删除前景通知?

时间:2014-10-26 19:17:10

标签: android service notifications android-5.0-lollipop foreground

我希望停止/取消媒体播放器服务的前台通知,这与Google的Google音乐实施非常相似。

例如,在Google音乐中,如果您正在播放音乐,则无法删除通知。但是,如果您暂停音乐,它可以。

这与在Android 4.4上实现的方式完全不同,Android 4.4仅在您离开应用时启动通知,并在您返回应用时自行删除。考虑到服务要求通知,我无法看到如何实现这一点。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:7)

  

如何删除Android Lollipop中的前景通知?

您可以通过调用名为Notification的{​​{1}}中的stopForeground()删除您自己的前景Service

  

例如,在Google音乐中,如果您正在播放音乐,则无法删除通知。但是,如果您暂停音乐,则可以将其滑动。

据推测,他们根据音乐是否正在播放来更新startForeground()的{​​{1}}值。

答案 1 :(得分:3)

您还可以通过棘手的方式删除通知:

  • 使用startForeground(1, new Notification());
  • 启动第一项服务
  • 使用startForeground(1, new Notification());启动第二项服务并立即停止

因此,第一项服务仍在前台运行,但由于停止第二项服务,通知已消失。我偶然发现了它:)。