我们正在创建一个蓝牙硬件设备,并希望在数据库中存储一个唯一的标识符,以便多个用户不会尝试连接到同一设备。有一个Android和一个iOS应用程序。
据我了解,在iOS中您无法访问MAC地址,并且提供的UUID是在iOS端生成的。我们可以添加提供UUID的特征,但是有没有办法在iOS和Android上具有一致的标识符而无需连接到蓝牙设备?
如果您可以控制硬件及其广告,则可以将mac地址(或某些其他唯一标识符)作为服务数据或特定于制造商的数据。请参阅Android L或更高版本上的https://developer.android.com/reference/android/bluetooth/le/ScanRecord.html。对于较低的Android版本,您必须自己解析扫描记录,这有点麻烦。
对于iOS,请参见此处:https : //stackoverflow.com/a/25392156/4248895
为了在Android上快速进行概念验证,您可以使用SweetBlue,它可以在后台为您处理不同的OS版本。看到:
http://idevicesinc.com/sweetblue/docs/api/com/idevicesinc/sweetblue/BleManagerConfig.ScanFilter.ScanEvent.html#serviceData
http://idevicesinc.com/sweetblue/docs/api/com/idevicesinc/sweetblue/BleManagerConfig .ScanFilter.ScanEvent.html#manufacturerData
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句