我在爲BLE設備開發android軟件時遇到問題。 我的軟件可以找到我的設備和GATT服務,但在我的服務中找不到任何特徵。Android Ble在BLE設備的GATT服務中找不到特徵
我檢查了android-sdk-4.4.2源碼,發現了一些代碼。 https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-sdk-4.4.2_r1 https://android.googlesource.com/platform/packages/apps/Bluetooth/+/android-sdk-4.4.2_r1
static char BASE_UUID[16] = {
0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80,
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
int uuidType(unsigned char* p_uuid)
{
int i = 0;
int match = 0;
int all_zero = 1;
for(i = 0; i != 16; ++i)
{
if (i == 12 || i == 13)
continue;
if (p_uuid[i] == BASE_UUID[i])
++match;
if (p_uuid[i] != 0)
all_zero = 0;
}
if (all_zero)
return 0;
if (match == 12)
return LEN_UUID_32;
if (match == 14)
return LEN_UUID_16;
return LEN_UUID_128;
}
我的BLE裝置UUID是0000XXXX-AABB-1000-8000-00805F9B34FB
。 這段代碼是否會造成這種麻煩? 或者我的BLE設備UUID有問題嗎?