在我的应用中,我使用后台服务来进行一些后台数据获取。我使用
启动服务bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
mConnection是ServiceConnection的实例。
在服务中我继续获取一些数据并验证它,如果检查通过我播放声音。所以当发生这种情况时,用户可以按活动屏幕上的STOP按钮。这将调用unbind(mConnection),这会破坏服务,我停止声音。 我的查询是,虽然服务在后台运行,同时Android杀死活动,然后用户如何能够停止服务。我需要mConnection解除绑定服务,我不能在onSaveInstanceState中将mConnection存储在Bundle中。 / p>
答案 0 :(得分:1)
如果使用bindService(...)方法启动服务,那么当活动被系统杀死时,服务也会被杀死。它的生命周期与活动有关。 BTW系统将杀死进程而不仅仅是活动。使用startService()和START_STICKY启动服务时,这会有所不同。
在您的情况下,您不必担心。只要活动停止,您的服务也会停止。