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

Mik*_*ell 7 service notifications android foreground android-5.0-lollipop

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

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

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

任何帮助将非常感激.

Com*_*are 7

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

你可以Notification通过调用stopForeground()你的Service那个来删除你自己的前景startForeground().

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

据推测,他们正在根据音乐是否正在播放来更新setOngoing()价值Notification.

  • 如果它是前台服务,则忽略setOnGoing() (3认同)
  • @DumonKri:如果您的UI位于前台,前台服务不会为您的流程优先级添加任何内容.而且,如果你的用户界面在前台,那么用户可能有更好的方式通过该用户界面与你的应用程序进行交互,而不是通过你的"通知". (2认同)

Mar*_*och 5

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

  • 开始第一个服务 startForeground(1, new Notification());
  • 启动第二个服务startForeground(1, new Notification());并立即停止它

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