Nearby Connections 2.0:广告商重新启动,但 Discoverer 使用旧的广告商 ID 进行连接

Nearby Connections 2.0: Advertiser restarts, but Discoverer connects using old Advertiser id

我发现了一个有趣的结果

这种行为是错误吗?

这是一个错误。我已经在内部提交了一张票以进行修复。如果你停止广告,任何看到旧广告的人都不应该联系到你。如果您遇到任何其他类似的奇怪边缘情况,请告诉我们! :)

为了理解为什么会出现此错误,以下是有关 Connections 工作原理的一小部分: 端点 id 作为广告的一部分发送,它在 Discoverer 端形成一个 id-mac 地址对。当 Discoverer 被告知 'requestConnection' 时,它会尝试连接到与端点 ID 关联的 Mac 地址。如果设备已经停止广播,发现者将无法连接,但发现者会在内部重试几次以确保确定。如果广告商足够快地重新开始广告,它将再次变为可连接,并且发现者的重试可能会成功(因为蓝牙 mac 地址永远不会轮换)。即使广告不同也是如此。