我有一个记录传感器数据的服务[a]。
此服务绑定到呼叫服务[b]。但是,我需要使用startService(intent)
bevor绑定手动启动记录器服务,因为我需要onCreate() - 运行方法。
有没有办法杀死服务[a]以便通知[b]? (最好从[{1}} - [a]的方法中,并以onSensorChanged
被称为的方式)
答案 0 :(得分:0)
根据this Question的公认答案,它实际上非常简单。在调用startService()
之后,只需绑定到服务并放置Context.BIND_NOT_FOREGROUND
- 标志。
如果您在绑定服务中调用stopSelf()
(在我的情况下取消注册侦听器),则会破坏该进程并调用onServiceDisconnected
。
这可能不是最佳解决方案,因为如果某些错误导致服务失败,也会调用onServiceDisconnected
...更好的是发送广播。但它解决了我的问题。