Android 蓝牙设备类型 DUAL
Android BluetoothDevice type DUAL
当对 LE 设备使用 ScanCallback 时,我得到以下条件为真:
bluetoothDevice.getType() == BluetoothDevice.DEVICE_TYPE_DUAL
设备应该只支持 BLE,那我怎么会变成 dual 类型?
这是否意味着我可以在此设备上使用经典蓝牙连接逻辑? (如果我尝试失败)
没错,双类型设备意味着它支持经典蓝牙 (BR/EDR) 以及低功耗 (LE) 蓝牙。你可以找到更多关于这个 here.
几乎所有 Android 设备 (phones/tablets) 默认都支持双类型。这是因为这些设备(以及台式机、笔记本电脑和其他设备)有足够的资源来支持蓝牙的所有子集。请注意,一个常见的错误是假设设备可以是 LE 或经典设备,但不能同时是两者。这在这个答案中得到了澄清:-
Can a Bluetooth LE powered device discover a classic Bluetooth device and vice-versa?
仅 LE 设备往往是资源受限的传感器和电池供电设备,因此无法支持经典蓝牙。
至于为什么您的 phone 无法通过经典蓝牙连接,这可能是一个单独的问题。请尝试使用不同的应用程序或从 Android 设置连接。一个好的方法是使用另外两个经典设备相互连接(证明任何设备都没有问题),如果成功,您可以尝试将您的 phone 连接到其中一个。
最后请注意,双模式设备和双角色设备是有区别的。双模式设备是指同时支持经典和 LE,而双角色设备只是 LE 的一个功能,这意味着一个设备可以同时是 master/slave。
希望对您有所帮助。
当对 LE 设备使用 ScanCallback 时,我得到以下条件为真:
bluetoothDevice.getType() == BluetoothDevice.DEVICE_TYPE_DUAL
设备应该只支持 BLE,那我怎么会变成 dual 类型?
这是否意味着我可以在此设备上使用经典蓝牙连接逻辑? (如果我尝试失败)
没错,双类型设备意味着它支持经典蓝牙 (BR/EDR) 以及低功耗 (LE) 蓝牙。你可以找到更多关于这个 here.
几乎所有 Android 设备 (phones/tablets) 默认都支持双类型。这是因为这些设备(以及台式机、笔记本电脑和其他设备)有足够的资源来支持蓝牙的所有子集。请注意,一个常见的错误是假设设备可以是 LE 或经典设备,但不能同时是两者。这在这个答案中得到了澄清:-
Can a Bluetooth LE powered device discover a classic Bluetooth device and vice-versa?
仅 LE 设备往往是资源受限的传感器和电池供电设备,因此无法支持经典蓝牙。
至于为什么您的 phone 无法通过经典蓝牙连接,这可能是一个单独的问题。请尝试使用不同的应用程序或从 Android 设置连接。一个好的方法是使用另外两个经典设备相互连接(证明任何设备都没有问题),如果成功,您可以尝试将您的 phone 连接到其中一个。
最后请注意,双模式设备和双角色设备是有区别的。双模式设备是指同时支持经典和 LE,而双角色设备只是 LE 的一个功能,这意味着一个设备可以同时是 master/slave。
希望对您有所帮助。