当我的应用程序处于后台时,是否可以在蓝牙设备与iOS连接或断开连接时得到通知?在Android上,我使用ACTION_ACL_CONNECTED
和ACTION_ACL_DISCONNECTED
事件。但我找不到适用于iOS的等效产品。
我发现CBCentralManager
可以用来监视蓝牙事件,但是只有在启用/禁用蓝牙时,才可以调用我的功能。是我这方面的错误还是正常?
我还找到了有关音频路由更改的文档,这也是检测蓝牙连接/断开连接的一个主意。只需检查新路由的种类并在那时检测连接的蓝牙设备即可。
在文档中,我还发现了NSNotification
类似的类型,IOBluetoothHostControllerXXX
但没有任何解释。有人已经使用过它们吗?
有更好的东西吗?还是我缺少什么?
你不能收到有关蓝牙的外设连接和断开的通知一般。您可以获取应用程序连接到的BLE外围设备的连接和断开连接事件。
例如,如果您的应用启动与心率传感器的CBCentralManagerDelegate
连接,则连接成功后,您将获得对连接功能的调用。如果该设备随后被关闭或超出范围,那么您将获得对断开连接委托方法的调用。
如果启动了其他应用程序并建立了连接,那么您将不会得到回调。
如前所述,您可以监视音频路由更改以推断已连接/断开了蓝牙音频设备,但是插入耳机时也会触发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句