Android O:Service.stopForeground等效项

os8fio9y  于 2023-08-01  发布在  Android
关注(0)|答案(3)|浏览(94)

我目前正在尝试做一个音乐播放器应用程序。对于回放,我创建了一个单独的服务。因为我想让它一直播放,所以调用Service.startForeground()。在编译Android O(SDK级别27)时,由于Android“新”的后台执行限制,我必须使用Context.startForegroundService()。
这工作正常,但当用户暂停播放时,我希望通知是可消除的。在过去,我可以调用stopForeground(),但这对Android O没有影响。有没有其他方法可以在后台和前台服务之间切换,或者有没有其他机会实现这种行为?Google Play Music等应用正是使用这种通知模式,但它们是如何做到的呢?

cuxqih21

cuxqih211#

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

bnl4lu3b

bnl4lu3b2#

使用方式
stopForeground(STOP_FOREGROUND_DETACH)
而不是
stopForeground(true)

gdrx4gfi

gdrx4gfi3#

我得到了同样的问题,并尝试了许多解决方案,但后来我知道,我已经在AndroidManifest.xml文件中给予了一些权限,这是没有用的,当我评论他们,它工作正常
注解权限如下

<!-- <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> -->
<!-- <uses-permission android:name="android.permission.GET_ACCOUNTS" /> -->
<!-- <uses-permission android:name="android.permission.READ_CONTACTS" /> -->
<!-- <uses-permission android:name="android.permission.VIBRATE"/> -->
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE"/> -->
<!-- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> -->

字符串

相关问题