Android外围设备标识符永远不会相同

时间:2016-05-23 15:40:20

标签: android core-bluetooth bluetooth-lowenergy cbperipheral

我有两个BLE外设(iOS和Android)和一个Macbook,它是中心。

我已经成功连接,写入,阅读和通知,但我的Android外设UUID存在问题。

在中央didDiscoverPeripheral方法(中央)上,我的Android设备的UUID在应用程序重启后永远不会相同。

我需要识别设备,但如果UUID总是改变,我就不能识别..

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

每次调用BluetoothLeAdvertiser.startAdvertising()时,Android的外设模式都会更改其mac地址。这是一项安全措施,您无法将其停用,您可以在this so question中阅读更多内容。

在iOS / Mac OS上,CoreBluetooth将根据广告数据为扫描的外围设备生成UUID,其中一个已知因素是外围设备的mac地址。因此,如果Android外围设备更改其mac地址,则无法在Mac中心停止UUID更改。

我建议您在Android外设的广告数据中添加一些数据,以帮助您识别它。