-1
我有一個服務[a]記錄傳感器數據。 該服務綁定到呼叫服務[b]。不過,我需要手動啓動記錄器服務,因爲我需要onCreate() - 要運行的方法。停止傳感器監聽器服務
有沒有辦法殺死服務[a]以便通知[b]? (最好從onSensorChanged
- [a]的方法以及以onServiceDisconnected
被調用的方式)
我有一個服務[a]記錄傳感器數據。 該服務綁定到呼叫服務[b]。不過,我需要手動啓動記錄器服務,因爲我需要onCreate() - 要運行的方法。停止傳感器監聽器服務
有沒有辦法殺死服務[a]以便通知[b]? (最好從onSensorChanged
- [a]的方法以及以onServiceDisconnected
被調用的方式)
根據接受的回答this Question,它實際上很簡單。調用startService()
後,只需綁定到服務並將Context.BIND_NOT_FOREGROUND
-標誌。
如果您然後在綁定服務中調用stopSelf()
(在我的情況下取消註冊偵聽器之後),該進程將被破壞,並且將調用該進程並調用onServiceDisconnected
。 這可能不是最好的解決方案,因爲如果某個錯誤會導致服務中斷,onServiceDisconnected
也會被調用......最好是發送廣播。但它解決了我的問題。