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