Android O:Service.stopForeground 等效项

HYM*_*DEV 10 android android-notifications foreground-service android-8.0-oreo

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

这工作正常,但是当用户暂停播放时,我希望通知可以被忽略。过去,我能够调用 stopForeground(),但这对 Android O 没有影响。是否有其他方法可以在后台和前台服务之间切换或有其他机会实现此行为?像 Google Play Music 这样的应用程序正是使用这种通知模式,但它们是如何做到的呢?

HYM*_*DEV 27

发生这种情况是因为我使用了错误的方法。你必须使用stopForeground(STOP_FOREGROUND_DETACH)而不是stopForeground(true).