我有多个使用Plugin.BLE的Xamarin应用程序,它们同时连接到同一BLE设备。
BLE设备保持与手机的连接,直到至少有一个已连接的应用程序。因此,基本上,“断开连接”意味着断开GATT客户端的连接,而不是将BLE设备与电话完全断开连接。适用于Android和iOS。
我正在寻找一种将BLE设备从手机上强制从一个应用程序断开连接的方法,因此它将被检测为与所有其他应用程序“断开连接”或至少“断开连接”。欢迎使用本机Android或iOS解决方案,因为我可以编写仅用于强制断开功能的小型库。
背景信息
Android上的Plugin.BLE断开连接实现会调用 device.disconnect 方法和 gatt.close 方法。
Plugin.BLE在iOS上调用 centralManager.CancelPeripheralConnection 方法断开连接。
两者都仅断开当前应用程序的连接,而不会断开BLE设备与手机的连接。
答案 0 :(得分:0)
我没有找到以自己想要的方式强制断开连接的方法。据我了解,这是设计意图,但我认为我可以通过关闭蓝牙适配器来断开所有设备的连接,但不能完全断开一台特定设备的连接。
我的解决方案是使用BLE设备本身向使用该设备并属于我的所有应用广播消息。当我所有的应用程序都从BLE设备收到消息后,他们将其作为断开连接的命令。