我有一个python蓝牙服务器(使用PyBluez)运行在raspberry pi上。我在服务器中使用的uuid是:
8f86d132-4ab8-4c15-b8df-0b70cf10ea56
我正在Android应用程序中的蓝牙服务器上调用^{
在广播接收器中:
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是小端还是大端有什么关系?
你的uuid在版本4中,你的变量是little Endianess。这很正常。取决于你的系统。如果你想要大的结尾放
8f86d132-4ab8-4c15-88df-0b70cf10ea56
我把b换成8。在
你有没有可能在android 6.0.1版上遇到过这种情况? 可悲的是,在android中似乎有一个bug导致了这个问题。 https://code.google.com/p/android/issues/detail?id=197341
相关问题 更多 >
编程相关推荐