【问题标题】:BLE and ANCS auto connection scenarioBLE和ANCS自动连接场景
【发布时间】:2015-02-16 09:55:14
【问题描述】:

我开发了一种可穿戴设备,它使用 BLE 技术连接其他顶级 BLE 设备。我也从可穿戴设备方面成功实施了 ANCS。

这里的问题陈述是:
我没有使用 Apple 的 MFI 计划。 当我第一次扫描设备时,它会根据服务 ID 被发现。连接成功后,ANCS 建立并请求应用中可见的配对请求。

如果可穿戴设备以某种方式断开连接并且用户手动将其打开。设备从外部蓝牙设置屏幕自动连接。这导致了一个问题,我无法从应用程序本身扫描设备,因为它是从外部连接的,因此广告包停止传播。由于无法扫描手表,因此无法连接。

我必须手动取消配对,然后设备才会进入扫描列表。

有什么方法可以让我知道设备是从我的应用程序内部从外部连接的吗?

如果是,请告诉我,如果不是,请为整个场景提出一些替代解决方案,因为我必须一次又一次地取消配对才能从应用程序中扫描它。

在过去的 10 天里,我一直被这个问题困扰。

请提供解决方案。任何帮助表示赞赏。

谢谢

【问题讨论】:

标签: ios iphone bluetooth-lowenergy core-bluetooth ancs


【解决方案1】:

当您尝试扫描应用中的外设时,应在扫描前先使用retrieveConnectedPeripheralsWithServices:

示例如下:

NSArray *peripherals = [central retrieveConnectedPeripheralsWithServices:@[serviceUUId]];
if (peripherals.count > 0) {
    CBPeripheral *peripheral = [peripherals firstObject];
    peripheral.delegate = self;
    [central connectPeripheral:peripheral options:nil];
} else {
    [central scanForPeripheralsWithServices:@[serviceUUId] options:nil];
}

苹果BLE文档中描述的The best practice for connect a peripheral

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多