gpt4 book ai didi

android - 在 iOS 和 Android 中查找蓝牙外围设备的共享标识符

转载 作者:太空狗 更新时间:2023-10-29 13:51:35 26 4
gpt4 key购买 nike

我最近在 iOS 和 Android 上开发处理蓝牙 BLE 设备的原生应用。

对于 iOS,我使用 CoreBluetooth 和 Android BluetoothDevice

当找到 BLE 设备时,可以在 Android 上使用 MAC 地址识别它,在 iOS 上使用设备的 UUID 识别它。

同一设备返回的示例包如下:

iOS

    CBPeripheral: 0x1700ff880, 
identifier = A3D26155-414C-4940-8EB9-C754AD202B64, //UUID
name = DEVICE01,
state = disconnected

安卓

    mDevice=00:18:31:84:37:E5, //MAC ADDRESS
mScanRecord=ScanRecord [mAdvertiseFlags=6,
mServiceUuids=[0000fff0-0000-1000-8000-00805f9b34fb],
mManufacturerSpecificData={}, mServiceData={},
mTxPowerLevel=-2147483648, mDeviceName=DEVICE01],
mRssi=-58,
mTimestampNanos=5196365700642

问题是我无法在两个平台之间识别同一设备,因为在 iOS 中标识符是 UUID,而在 Android 中标识符是 MAC 地址。

我一直在看如何在 iOS 上访问 MAC ADDRESS,说安全问题不允许,而 Android 上的 UUID 没有类似于 iOS 的值。

是否有可能在两个平台之间访问一些公共(public)数据?

注意:很明显,设备名称在所有设备上都是重复的,不是用作标识符的变量。

最佳答案

没有。您需要让外设通告除蓝牙设备地址之外的一些自定义唯一标识符。

例如,您可以让每个设备都有一个唯一的名称,或者使用服务数据或制造商特定的数据字段。

关于android - 在 iOS 和 Android 中查找蓝牙外围设备的共享标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com