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

问题描述 投票:7回答:2

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

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

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

任何帮助将非常感激。

android service notifications android-5.0-lollipop foreground
2个回答
7
投票

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

您可以通过从Notification调用stopForeground()来移除您自己的前景Service,该startForeground()称为setOngoing()

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

据推测,他们根据音乐是否正在播放来更新NotificationstartForeground(1, new Notification());值。


3
投票

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

  • startForeground(1, new Notification());开始第一次服务
  • 用qazxswpoi开始第二次服务并立即停止它

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

© www.soinside.com 2019 - 2024. All rights reserved.