我有一个在树莓派上运行的 python 蓝牙服务器(使用 PyBluez)。我在服务器中使用的uuid是:
8f86d132-4ab8-4c15-b8df-0b70cf10ea56
我调用device.fetchUuidsWithSdp()
在我的 Android 应用程序的蓝牙服务器上。当它最终获取 uuid 时,它们以两个为一组进行了反转(字节顺序似乎已经改变)。
在广播接收器中:
Parcelable[] uuids = intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID);
if (uuids != null) {
if (uuids.length > 0) {
for (Parcelable uuid : uuids) {
Utilities.err(uuid.toString());
}
} else {
Utilities.err("no uuids");
}
}
例如:
8f86d132-4ab8-4c15-b8df-0b70cf10ea56
-> 56ea10cf-700b-dfb8-154c-b84a32d1868f
看前两个字符8f
,是uuid反转后的最后两个字符。
看后面两个字符86
,是倒过来的uuid倒数第二个字符
这是什么原因造成的?
这与 UUID 是小端还是大端有什么关系吗?
最佳答案
您是否有机会在 Android 版本 6.0.1 上遇到此问题? 可悲的是,android 中似乎有一个错误导致了这一点。 https://code.google.com/p/android/issues/detail?id=197341
关于android - 来自 fetchUuidsWithSdp 的奇怪 UUID 反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35339982/