12

可以bindService在相同的上下文中多次使用相同的服务吗?

我可以bindService在相同的上下文中多次使用相同的服务并且unBindService只使用一次吗?

谢谢

4

3 回答 3

8

可以将多次绑定到具有相同上下文的相同服务,但在我看来这是不好的做法。此外,您不能只解除一次服务绑定。你必须解开你所有ServiceConnection的 .

更新:至于为什么在我看来这是一种不好的做法,那是因为我无法想象为什么一个人会需要它。此外,我认为仅绑定和取消绑定一次并用作服务的外观接口的连接包装器可能会更好,因为它会引入更少的开销并且更不容易出错(但在我看来)

于 2012-08-02T12:38:17.107 回答
3

如果您使用相同的上下文并且服务目前已连接,那么您调用多少次 bindService 并不重要,android 只是忽略您的调用所以您只能绑定到具有相同上下文的服务一次并且只能取消绑定一次

于 2020-12-08T17:54:25.763 回答
1

当您调用绑定服务时,android框架会检查上下文是否已绑定,如果上下文已绑定,则android只是忽略调用

于 2021-01-12T17:52:58.200 回答