我开始使用以下服务:

private ServiceConnection _serviceConnection = new ServiceConnection() {...}

bindService(new Intent(this, MainService.class), _serviceConnection, Context.BIND_AUTO_CREATE);

我想“重新启动”该服务. (我们不要争论为什么我要那样做)

我是这样做的:

unbindService(_serviceConnection);

// Do some initialization on service

bindService(new Intent(this, MainService.class), _serviceConnection, Context.BIND_AUTO_CREATE);

我注意到服务没有死(onDestroy不运行),直到我调用下一个bindService();

因此,我在服务上做的一些静态初始化已被onDestroy()实现清除.

问题:如何确保unbindService()将停止服务(运行onDestory()),

以便我可以在重新运行bindService()之后进行初始化?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐