【问题标题】:Stop bound sensor listener service停止绑定传感器侦听器服务
【发布时间】:2016-04-18 22:58:52
【问题描述】:
我有一个记录传感器数据的服务 [a]。
此服务绑定到调用服务 [b]。但是,我需要使用 startService(intent) 绑定手动启动记录器服务,因为我需要 onCreate() 方法才能运行。
有没有办法杀死服务 [a] 以便通知 [b]? (最好在 [a] 的 onSensorChanged- 方法中,并以调用 onServiceDisconnected 的方式)
【问题讨论】:
标签:
android
service
bindservice
【解决方案1】:
根据this Question接受的回答,其实很简单。调用startService() 后,只需绑定到服务并放入Context.BIND_NOT_FOREGROUND-flag。
如果您随后从绑定服务中调用stopSelf()(在我的情况下取消注册侦听器之后),该进程将被销毁,并且将调用onServiceDisconnected。
这可能不是最好的解决方案,因为如果某些错误导致服务终止,onServiceDisconnected 也会被调用……更好的是发送广播。但它解决了我的问题。