我目前正在尝试做一个音乐播放器应用程序。对于回放,我创建了一个单独的服务。因为我想让它一直播放,所以调用Service.startForeground()。在编译Android O(SDK级别27)时,由于Android“新”的后台执行限制,我必须使用Context.startForegroundService()。
这工作正常,但当用户暂停播放时,我希望通知是可消除的。在过去,我可以调用stopForeground(),但这对Android O没有影响。有没有其他方法可以在后台和前台服务之间切换,或者有没有其他机会实现这种行为?Google Play Music等应用正是使用这种通知模式,但它们是如何做到的呢?
3条答案
按热度按时间cuxqih211#
这是因为我使用了错误的方法。你必须使用
stopForeground(STOP_FOREGROUND_DETACH)
而不是stopForeground(true)
。bnl4lu3b2#
使用方式
stopForeground(STOP_FOREGROUND_DETACH)
而不是
stopForeground(true)
gdrx4gfi3#
我得到了同样的问题,并尝试了许多解决方案,但后来我知道,我已经在AndroidManifest.xml文件中给予了一些权限,这是没有用的,当我评论他们,它工作正常
注解权限如下
字符串