我有一个LE和Classic的蓝牙模块,设置为可以同时发布和发现。 在我的Android应用程序中,我启动一个发现,并将所有LE设备添加到listView,因为我想与设备建立经典连接。 当我发现设备时,我发现需要多次扫描才能找到我的设备,因此我添加了一些调试语句,发现我的设备显示为3种不同的设备类型,LE,Classic和双。
Android开发者网站只说决斗设备就是这个;
"蓝牙设备类型,双模式 - BR / EDR / LE
常数值:3(0x00000003)"
http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#DEVICE_TYPE_DUAL
我正在使用
device.getType() != BluetoothDevice.DEVICE_TYPE_LE
过滤设备 这是为了找到设备类型
DebugWrapper.infoMsg(device.getAddress(), "CYCLOPS C");
DebugWrapper.infoMsg(""+device.getType(), "CYCLOPS TYPE");"
LogCat显示单次扫描和找到的设备
08-12 10:32:08.226: D/BtClassicDeviceBase(18064): isConnected
08-12 10:32:08.226: D/BluetoothAdapterWrapper(18064): startDiscovery
08-12 10:32:08.236: D/BtClassicDeviceBase(18064): isConnected
08-12 10:32:08.357: I/System.out(18064): rssi: -67
08-12 10:32:08.597: I/System.out(18064): rssi: -76
08-12 10:32:08.647: I/System.out(18064): rssi: -83
08-12 10:32:08.697: I/BTC device(18064): 00:16:A4:09:3A:AF
08-12 10:32:08.697: I/BTC TYPE(18064): 1
08-12 10:32:08.697: I/System.out(18064): rssi: -46
08-12 10:32:09.628: I/System.out(18064): rssi: -84
08-12 10:32:09.768: I/System.out(18064): rssi: -78
08-12 10:32:10.349: I/System.out(18064): rssi: -65
08-12 10:32:11.059: I/BTC device(18064): 00:16:A4:09:3A:AF
08-12 10:32:11.059: I/BTC TYPE(18064): 3
08-12 10:32:11.059: I/System.out(18064): rssi: -47
08-12 10:32:11.460: I/System.out(18064): rssi: -73
08-12 10:32:12.871: I/System.out(18064): rssi: -100
08-12 10:32:13.512: I/System.out(18064): rssi: -70
08-12 10:32:14.142: I/System.out(18064): rssi: -89
08-12 10:32:15.454: I/System.out(18064): rssi: -67
08-12 10:32:15.594: I/System.out(18064): rssi: -72
08-12 10:32:15.694: I/System.out(18064): rssi: -83
08-12 10:32:17.095: I/System.out(18064): rssi: -73
08-12 10:32:17.255: I/BTC device(18064): 00:16:A4:09:3A:AF
08-12 10:32:17.255: I/BTC TYPE(18064): 3
08-12 10:32:17.255: I/System.out(18064): rssi: -47
08-12 10:32:20.148: I/System.out(18064): rssi: -91
08-12 10:32:21.079: D/BtClassicDeviceBase(18064): isConnected
有谁知道android如何定义它找到的设备类型以及决定决斗设备的因素?