实际上,我是 BLE 和 Android 的新手,如果我正在搜索可用设备,那么我会得到一些地址,例如“8A:WS:YV:23:D7”,如果我正在搜索IOS中的同一设备,然后它给出一些UUID,例如“212C543B-9728-197D-B4F4-F4F74CABC963”,就像这样,两者都用于将我们的移动应用程序连接到BLE设备,所以我的问题是我想创建一个数据库,将在双方使用,我想将数据库存储到服务器中,当我通过 Android 上传它时,它会保存地址,如果我在 IOS 中从服务器打开相同的配置文件,所以它得到了地址而不是 UUID,所以我的设备根本无法连接它。所以我想知道如何获得将IOS应用程序连接到android中的BLE设备所需的BLE设备的UUID,反之亦然。
问问题
2032 次
1 回答
1
不幸的是,您无法在 iOS 上获取 mac 地址或在 Android 上获取 UUID。Apple 会隐藏 mac 地址,如果您找到解决方法(如果有的话),您的应用将无法通过审批。iOS 中使用的 UUID 是根据 ble 广告生成的,每个 iOS 设备都会为同一个外设生成不同的 UUID。顺便说一句,新的 Android 设备将随机化它们的 mac 地址,因此无论如何您都不能使用 mac 地址作为标识符。
我建议您在 ble 广告中提供自己的标识符,以便您可以识别运行您的应用程序的设备。例如,您将服务 UUID 添加到广告中,该广告将包含两个部分,一个用于标识您的应用的固定部分和一个用于标识您的设备的可变部分。不幸的是,Android 设备无法在后台获取 iOS 设备的服务 UUID。
我希望这有帮助。
于 2016-05-26T15:25:07.690 回答