Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS和Android上查找蓝牙外围设备的共享标识符_Android_Ios_Bluetooth - Fatal编程技术网

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

在iOS和Android上查找蓝牙外围设备的共享标识符,android,ios,bluetooth,Android,Ios,Bluetooth,我最近在iOS和Android上开发本机应用程序,处理蓝牙设备 对于iOS,我使用的是核心蓝牙设备和安卓设备 找到BLE设备后,可以在Android上使用MAC地址识别它,在iOS上使用设备的UUID识别它 为同一设备返回的示例包如下所示: iOS CBPeripheral: 0x1700ff880, identifier = A3D26155-414C-4940-8EB9-C754AD202B64, //UUID name = DEVICE01, state

我最近在iOS和Android上开发本机应用程序,处理蓝牙设备

对于iOS,我使用的是核心蓝牙设备和安卓设备

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

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

iOS

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

    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地址,并说这是不允许的安全问题,而Android上的UUID没有类似于iOS的值

是否有可能访问两个平台之间的一些通用数据


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

否。您需要让外围设备公布一些自定义唯一标识符,而不是蓝牙设备地址


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

在iOS中,将UUID分配给外围设备,因此不同的iOS设备将不同的UUID分配给外围设备。我们无法在iOS中更改UUID。 在android和iOS中,没有任何数据是相同的。
尝试RSSI范围。我认为这两台设备都获得了相同的外围设备范围(RSSI)值。

感谢您的回复!我不能使用RSSI,因为设备不在同一时间搜索,也不在同一范围内。。。我还在想办法解决这个问题你找到解决办法了吗?我也面临同样的问题。