Android 蓝牙 LE 扫描的设备缺少名称

Android Bluetooth LE scanned devices missing Name

我使用 StartLeScan 已经有一段时间了,扫描后 returned 设备的名称从未被填充。我一直想不通为什么,我只是得到了 mac 地址。 今天我 运行 从 OS BT 设置页面进行扫描,在扫描完成之前它只显示 MAC 地址,然后显示名称。现在,当我 运行 以编程方式扫描时,名称总是被填充。

为什么 StartLeScan 没有 return 设备名称?

名称在扫描过程中不会与 MAC 一起广播,您稍后看到的名称是您从设备请求它后的本地缓存。

我的记忆可能出卖了我,但我相信设置会在扫描后单独请求名称。设置还有一个本地独立缓存,用于跟踪设备及其当前状态。

请记住,名称并不是识别设备的好方法,因为它可能会被用户更改。