Android启动/停止服务
我有一个包含多个活动的应用程序。所有活动都必须访问本地服务。我希望在启动应用程序时启动服务,并在 a) 应用程序已销毁(返回键) b) 应用程序已停止(主键) c) 设备处于深度睡眠状态(电源键) 基本上,服务不应该在没有可见活动的情况下运行 我在onResume()中的每个活动中绑定服务,并在onPause()中的每个活动中解除绑定服务。不幸的是,每次我切换活动时,它都会重新创建服务,因为在新活动绑定服务之前,服务会解除绑定 现在有人知道如何预防吗?看看 但是,如果选择实现onStartCommand()回调 方法,则必须显式停止该服务,因为该服务 现在被认为已经开始。在这种情况下,服务运行到 服务通过stopSelf()或其他组件调用停止自身 stopService(),无论它是否绑定到任何客户端Android启动/停止服务,android,service,android-activity,Android,Service,Android Activity,我有一个包含多个活动的应用程序。所有活动都必须访问本地服务。我希望在启动应用程序时启动服务,并在 a) 应用程序已销毁(返回键) b) 应用程序已停止(主键) c) 设备处于深度睡眠状态(电源键) 基本上,服务不应该在没有可见活动的情况下运行 我在onResume()中的每个活动中绑定服务,并在onPause()中的每个活动中解除绑定服务。不幸的是,每次我切换活动时,它都会重新创建服务,因为在新活动绑定服务之前,服务会解除绑定 现在有人知道如何预防吗?看看 但是,如果选择实现onStartCom
假设您使用Context.BIND\u AUTO\u CREATE进行绑定,那么您就快到了。在onStart()中绑定服务,并在onStop()中解除绑定。您应该发现,当应用程序从第一个活动切换到第二个活动时,第二个活动的开始发生在第一个活动停止之前。我已经在我的应用程序中使用了此技术,并登录了所有。。方法;当我切换时,它们按以下顺序出现:
FIRST Activity onCreate
FIRST Activity onStart
FIRST Activity onResume
FIRST Activity onPause
SECOND Activity onCreate
SECOND Activity onStart
SECOND Activity onResume
FIRST Activity onStop
因此,在短时间内,服务绑定了两个活动,这一点都没有坏处。当没有活动绑定时,服务将停止。非常感谢,这正是我想要的!