Android O: Service.stopForeground 等效

Android O: Service.stopForeground equivalent

我目前正在尝试制作某种音乐播放器应用程序。为了播放,我创建了一个单独的服务。因为我想让它一直播放,所以我调用了 Service.startForeground()。在为 Android O(SDK 级别 27)编译时,由于 Android 的“新”后台执行限制,我必须使用 Context.startForegroundService()。

这很好用,但是当用户暂停播放时,我希望通知可以关闭。过去,我可以调用 stopForeground(),但这对 Android O 没有影响。是否有任何其他方法可以在后台和前台服务之间切换或任何其他机会来实现此行为? Google Play Music 等应用正是使用这种通知模式,但它们是如何做到的?

这是因为我用错了方法。您必须使用 stopForeground(STOP_FOREGROUND_DETACH) 而不是 stopForeground(true)