在Android服务中,当我们调用bindService
时,将触发onServiceConnected
我可以获取服务实例的位置。但是,当我致电unBindService
或stopService
时,永远不会触发onServiceDisconnected
。根据{{3}},只有在应用获得杀手或崩溃时才会调用onServiceDisconnected
。那么,在unBindService
完成时,我应该在哪里进行回调?我想仅在完成stopService
时致电unBind
。
由于这两个unBindService
和stopService
都是异步调用,因此我无法在调用stopService
后调用unBindService
。因为stopService
可能会在unBindService
之前完成,因为Service not registered exception
会留给我mBound
。
所有Android服务文档和教程都指示unBindService
状态,我们需要在服务停止或启动时维护此布尔值。但仍然存在上述问题。
我的问题是,如何实现unBindService
回调?并且在stopService
之后调用{{1}}可能会有任何异常吗?如果是这样,我们应该什么时候打电话呢?