我正在开发一款具有前台服务的应用程序,它可以长时间播放音频。
我不希望 Android 操作系统在后台运行时关闭我的服务,但是如果应用程序从任务管理器中手动关闭,则希望停止服务。
当前我的应用程序的行为是当应用程序在任务管理器中关闭时,服务仍然继续运行。
我注意到 Spotify 实现了所需的效果,这是如何实现的呢?
我认为你可以在onTaskRemoved()中调用stopSelf()
。此外,android:stopWithTask
是一个严重缺乏文档的选项,可以在<service>
元素上设置,以在从最近任务列表中停止任务时自动停止服务。
请注意,我没有尝试过这两个方法,所以结果可能因人而异。
adb shell am force-stop com.my.app.package
,但这也会杀死服务。 - Jacob TabakonTaskRemoved()
,并且那里的JavaDocs引导我到android:stopWithTask
。“android:stopWithTask可能是更好的解决方案”--是的,除了文档极度缺乏的部分,这让我有点紧张。 - CommonsWare