【问题标题】:Platform-agnostic bluetooth device identification mechanism平台无关的蓝牙设备识别机制
【发布时间】:2016-10-21 08:42:18
【问题描述】:

我正在尝试通过蓝牙编写跨平台抽象。当谈到识别设备(或 iOS 称之为外围设备)时,我有点难过。

iOS 包含一个identifier 属性,它是第一次连接时分配给设备的生成 ID。不过,Android 似乎没有对等的概念。我似乎能做的最好的事情是使用BluetoothDevice.getAddress,它返回一个MAC地址。然后我可以通过一些字节旋转把它变成一个 UUID。

我可以在这里做些什么来以不可知的方式唯一地识别设备?

【问题讨论】:

  • 由于 iOS 和 Android 没有报告一致的标识符,我不认为有任何选项可以提供跨平台标识符

标签: android ios bluetooth core-bluetooth android-bluetooth


【解决方案1】:

正如您已经注意到的,您不能使用 identifier 属性来识别 iOS 上的设备。

这样做的正确方法是宣传具有您可以在设备 A 上控制的特征值的服务,并在设备 B 上发现它。

根据您想要实现的目标,还有一些 SDK 可用于设备发现,例如 newaer、p2pkit 或附近的 google 等等。

免责声明:我在 Uepaa 工作,为 Android 和 iOS 开发 p2pkit.io。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2016-11-02
    相关资源
    最近更新 更多