我想通过以下代码从我发现的BLE设备中获取所有Uuids:
public class DiscoverLe : ScanCallback
{
public DiscoverLe()
{
}
public override void OnScanResult([GeneratedEnum] ScanCallbackType callbackType, ScanResult result)
{
base.OnScanResult(callbackType, result);
ScanRecord oScanRecord = result.ScanRecord;
byte[] oByteArray = result.ScanRecord.GetManufacturerSpecificData(76);
}
}
有人可以解释一下如何做到这一点吗?
答案 0 :(得分:0)
我强烈建议您阅读蓝牙4.0版规范。如果您指的是服务和特性的 UUID ,遗憾的是,如果不连接到远程设备并启动服务发现过程,您就无法执行此操作。 BLE广告数据最多可容纳31个字节的数据。请阅读以下link并了解BLE广告包的结构。您发现的远程BLE设备可能包含一些服务UUID数据(UUID可以是2个字节或8个字节。因此,不要期望看到所有服务UUID)。供应商的选择是将服务UUID包含在广告包中还是不包括在广告包中。但是,如果不建立BLE连接和执行服务发现,您将永远无法获得特征UUID信息。