Android 如何将多个活动绑定到一个服务

Android 如何将多个活动绑定到一个服务,android,android-activity,service,bluetooth,Android,Android Activity,Service,Bluetooth,我有一项服务,可以打开与设备的蓝牙连接。我需要从2个活动访问此连接。我知道如何将一个活动绑定到一个服务,但是如果我需要将两个活动绑定到一个服务呢 如果我绑定到服务的第二个活动,它会创建服务的第二个实例吗 它会创建该服务的第二个实例吗 是的,是的 但是,同一服务的多个实例不能同时运行 您的问题的可能解决方案是:在onResume()方法中绑定服务,然后在onPause()方法中解除绑定。这允许您向两个不相关的活动授予访问该服务的权限,同时一次只能绑定一个 有关更多信息,请阅读以下问题: 也

我有一项服务,可以打开与设备的蓝牙连接。我需要从2个活动访问此连接。我知道如何将一个活动绑定到一个服务,但是如果我需要将两个活动绑定到一个服务呢

如果我绑定到服务的第二个活动,它会创建服务的第二个实例吗

它会创建该服务的第二个实例吗

是的,是的

但是,同一服务的多个实例不能同时运行

您的问题的可能解决方案是:在
onResume()
方法中绑定服务,然后在
onPause()方法中解除绑定。这允许您向两个不相关的活动授予访问该服务的权限,同时一次只能绑定一个

有关更多信息,请阅读以下问题:

也可以考虑阅读关于

的文章。 它会创建该服务的第二个实例吗

是的,是的

但是,同一服务的多个实例不能同时运行

您的问题的可能解决方案是:在
onResume()
方法中绑定服务,然后在
onPause()方法中解除绑定。这允许您向两个不相关的活动授予访问该服务的权限,同时一次只能绑定一个

有关更多信息,请阅读以下问题:


也可以考虑阅读关于

< P>的文章。另一个答案不是很正确(我不认为他们读他们自己的文档参考)。您可以多次绑定到一个服务,而不会出现任何问题。服务的每个连接都将彼此独立运行,它们的ServiceConnection对象将在独立连接和断开连接时反映出来

清单中定义的服务只有一个实例。第一次绑定客户机时,将创建服务对象。每个新客户端都不会创建该服务的新对象实例。但是,当最后一个客户端解除绑定时,服务将通过onstart命令销毁(只要当前未“启动”)


您可以通过在代码中使用位置良好的日志语句来验证所有这些行为。

另一个答案并不正确(我认为他们没有阅读自己的文档引用)。您可以多次绑定到一个服务,而不会出现任何问题。服务的每个连接都将彼此独立运行,它们的ServiceConnection对象将在独立连接和断开连接时反映出来

清单中定义的服务只有一个实例。第一次绑定客户机时,将创建服务对象。每个新客户端都不会创建该服务的新对象实例。但是,当最后一个客户端解除绑定时,服务将通过onstart命令销毁(只要当前未“启动”)


您可以在代码中使用位置正确的日志语句来验证所有这些行为。

是否会先销毁服务,然后创建新的服务?我不想关闭连接,因为建立蓝牙连接需要几秒钟的时间。该服务会被破坏,然后创建一个新的服务吗?我不想关闭连接,因为建立蓝牙连接需要几秒钟的时间。