【发布时间】:2014-08-08 15:50:53
【问题描述】:
我正在开发一个带有前台服务的应用程序,该服务可以长时间播放音频。
我不希望 Android 操作系统在后台运行时终止我的服务,但是如果从任务管理器手动关闭应用程序,我想停止该服务。
我的应用的当前行为是当应用在任务管理器中关闭时服务继续运行。
我注意到Spotify达到了预期的效果,它是如何实现的?
【问题讨论】:
我正在开发一个带有前台服务的应用程序,该服务可以长时间播放音频。
我不希望 Android 操作系统在后台运行时终止我的服务,但是如果从任务管理器手动关闭应用程序,我想停止该服务。
我的应用的当前行为是当应用在任务管理器中关闭时服务继续运行。
我注意到Spotify达到了预期的效果,它是如何实现的?
【问题讨论】:
我想你可以打电话给stopSelf()from onTaskRemoved()。还有一个严重记录不足的android:stopWithTask,您显然可以在<service> 元素上使用,以便在从最近任务列表中停止任务时自动停止服务。
请注意,我没有尝试过这两种方法,所以 YMMV。
【讨论】:
adb shell am force-stop com.my.app.package,但这也会终止服务。