从远程蓝牙Android设备检索自定义UUID
我试图从配对或未配对的远程设备检索(服务)UUID。远程和本地设备都运行相同的程序,并且可以成功地建立用于传输数据的套接字。但是,在这两个设备上,仅获取默认的预先存在的UUID。 我能够看到特定于应用程序的UUID,但在数十个UUID列表中,只有一到两次通过 所以我的问题是。为什么我的自定义/特定于应用程序的UUID没有显示在通过显示的UUID列表中?当它真的出现(很少出现)时,我无法复制这种行为从远程蓝牙Android设备检索自定义UUID,android,bluetooth,uuid,Android,Bluetooth,Uuid,我试图从配对或未配对的远程设备检索(服务)UUID。远程和本地设备都运行相同的程序,并且可以成功地建立用于传输数据的套接字。但是,在这两个设备上,仅获取默认的预先存在的UUID。 我能够看到特定于应用程序的UUID,但在数十个UUID列表中,只有一到两次通过 所以我的问题是。为什么我的自定义/特定于应用程序的UUID没有显示在通过显示的UUID列表中?当它真的出现(很少出现)时,我无法复制这种行为 if(intent.getAction().equals(BluetoothAdapter.ACT
if(intent.getAction().equals(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)) {
Log.i(CLASS_TAG, "Discovery finished.");
for (BluetoothDevice device : pairedDevices) {
device.fetchUuidsWithSdp();
}
}
日志输出:
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
0000110a-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
000011105-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
00001116-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
0000112f-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
00001112-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
0000111f-0000-1000-8000-00805f9b34fb
11-28 15:55:03.910 15893-15893/com.KoMark.koalai/KComm﹕ 行动uuid:
00001132-0000-1000-8000-00805f9b34fb
客户端成功创建连接:
public ClientThread(BluetoothDevice device ) {
BluetoothSocket tmp = null;
mmDevice = device;
try {
tmp = mmDevice.createRfcommSocketToServiceRecord(UUID.fromString(KOALA_UUID));
} catch (IOException e) {
e.printStackTrace();
}
mmSocket = tmp;
}
UUID是:
private static final String KOALA_UUID = "e519c52c-81fb-11e5-8bcf-feff819cdc9f";
@MrsEd-我能弄明白。蓝牙连接是在后台服务中建立的,没有正确终止,导致“UUID”被利用(我猜是这样)。因此,它没有通过服务发现列出。这有意义吗?
private static final String KOALA_UUID = "e519c52c-81fb-11e5-8bcf-feff819cdc9f";