You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP(Windows 10)中如何获取蓝牙BLE设备的完整设备名称列表

Windows平台12字符名称BLE设备发现方案

问题本质

  • BLE传统广播包单包载荷上限仅31字节,扣除广播标志位、服务UUID、发射功率等公共字段后,剩余空间不足以承载12字符的完整名称。绝大多数设备会把长名称放在主动扫描触发的扫描响应包中,BluetoothLEAdvertisementWatcher默认使用被动扫描模式时,根本不会向设备请求扫描响应,自然只能拿到截断的8字节短名称,甚至拿不到名称字段。
  • 不同工具、系统界面的名称显示差异,完全来自扫描策略区别:LightBlue默认用主动扫描+更长的响应等待窗口,能稳定拿到扫描响应里的长名称;EFR Connect、Windows旧版设备枚举逻辑的扫描等待窗口短,没等到扫描响应就停止接收,就只能拿到短名称。
  • 配对后即使取消配对也能显示长名称,是因为配对流程中系统会主动建立GATT连接,读取通用访问服务下的设备名称特征,并将结果写入系统级设备缓存,后续枚举直接读取缓存,不需要再等广播包。

可落地实现路径

1. 先把广播监听器配置对

不要上来就换接口,先调整BluetoothLEAdvertisementWatcher的基础配置:

  • 将扫描模式设置为BluetoothLEScanningMode.Active,显式要求扫描时主动向设备发送扫描请求,触发设备返回携带完整名称的扫描响应包。
  • 不要在广播过滤条件里加名称字段规则,首轮过滤仅保留携带目标服务UUID的设备,避免因为首轮广播包没带名称直接漏过目标设备。
  • 单设备的扫描等待窗口不要低于2秒,给扫描响应包预留足够的空口传输时间。

基础配置代码示例:

var bleWatcher = new BluetoothLEAdvertisementWatcher();
// 开启主动扫描,请求扫描响应
bleWatcher.ScanningMode = BluetoothLEScanningMode.Active;
// 仅按目标服务UUID过滤,不提前加名称筛选
bleWatcher.AdvertisementFilter.Advertisement.ServiceUuids.Add(yourTargetServiceGuid);

2. 结合系统枚举接口补全缓存信息

DeviceInformation.CreateWatcher()是性价比很高的补充方案,不需要额外连接设备,功耗极低:

  • 从广播监听器拿到设备的BluetoothAddress后,和系统枚举返回的设备地址做匹配,优先取系统缓存里存储的完整设备名称。
  • 枚举时记得显式声明需要拉取的属性:System.Devices.Aep.DeviceAddress(用于地址匹配)、System.ItemNameDisplay(系统缓存的设备名)、System.Devices.Aep.Bluetooth.Le.IsConnectable(判断设备是否支持连接读名称),避免默认返回字段不全导致匹配失败。

3. 异常设备兜底方案

对前两步都拿不到完整名称的设备(比如测试中那台固件配置有问题的设备),用短暂GATT连接的方式兜底:

  • 确认设备处于可连接状态后,用拿到的BluetoothAddress创建BluetoothLEDevice实例,建立GATT连接。
  • 找到通用访问服务(GUID 00001800-0000-1000-8000-00805f9b34fb)下的设备名称特征(GUID 00002a00-0000-1000-8000-00805f9b34fb),直接读取特征值拿到完整名称。
  • 读完名称立刻主动断开GATT连接,把名称和设备地址的映射关系存在本地应用缓存,下次扫描到同地址设备直接用缓存,不用重复连接。

推荐的标准发现流程

  • 启动主动模式的BluetoothLEAdvertisementWatcher,仅按目标服务UUID过滤,记录所有命中设备的地址、广播携带的名称、RSSI值。
  • 同步启动DeviceInformation.CreateWatcher,将广播拿到的设备地址和系统枚举结果做匹配,优先使用系统返回的完整名称。
  • 对连续扫描超过3秒、前两个渠道都没拿到完整名称的可连接设备,触发短暂GATT连接读取名称特征,结果写入本地缓存。
  • 不要把广播里的名称作为设备唯一标识,设备地址(隐私随机地址场景配合设备专属服务数据做校验)才是稳定的识别依据。

内容的提问来源于stack exchange,提问作者bobwki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:48:28