我正在尝试通过蓝牙编写跨平台抽象。当涉及识别设备(或外围设备,如iOS所称)时,我有点难过。
iOS包含identifier
属性,该属性是第一次连接时分配给设备的生成ID。但是,Android似乎没有相同的概念。我似乎能做的最好的事情是使用BluetoothDevice.getAddress
,它返回一个MAC地址。然后我可以通过做一些字节翻转把它变成一个UUID。
我可以做些什么来以不可知的方式唯一地识别设备吗?
答案 0 :(得分:0)
正如您已经注意到的,您无法使用identifier
属性来识别iOS上的设备。
正确的做法是宣传具有您可以在设备A上控制的特征值的服务,并在设备B上发现这一点。
根据您要实现的目标,您还可以使用SDK进行设备发现,例如newaer,p2pkit或google附近,仅举几例。
免责声明:我为Uepaa工作,为Android和iOS开发p2pkit.io。