Android 蓝牙设备类型 DUAL

标签 android bluetooth bluetooth-lowenergy android-bluetooth

当对 LE 设备使用 ScanCallback 时,我得到以下条件:

bluetoothDevice.getType() == BluetoothDevice.DEVICE_TYPE_DUAL

设备应该只支持BLE,那么我怎么会得到双类型?

这是否意味着我可以在此设备上使用经典的蓝牙连接逻辑? (如果我尝试就会失败)

最佳答案

这是正确的,双类型设备意味着它支持经典蓝牙 (BR/EDR) 以及低功耗 (LE) 蓝牙。您可以找到更多相关信息here .

默认情况下,几乎所有 Android 设备(手机/平板电脑)都支持双类型。这是因为这些设备(以及台式机、笔记本电脑和其他设备)有足够的资源来支持蓝牙的所有子集。请注意,一个常见的陷阱是假设设备可以是 LE 设备或经典设备,但不能两者兼而有之。这个答案澄清了这一点:-

Can a Bluetooth LE powered device discover a classic Bluetooth device and vice-versa?

仅限 LE 的设备往往是资源有限的传感器和电池供电设备,因此无法支持经典蓝牙。

至于为什么您的手机无法通过经典蓝牙进行连接,这可能是一个单独的问题。请尝试使用不同的应用程序或从 Android 设置进行连接。一个好的方法是使用另外两个经典设备相互连接(证明任何设备都没有问题),如果成功,您可以尝试将手机连接到其中一个。

最后,请注意双模式设备和双角色设备之间存在差异。双模式设备是指同时支持经典和 LE 的设备,而双角色设备仅是 LE 的功能,这意味着设备可以同时作为主/从设备。

我希望这会有所帮助。

关于Android 蓝牙设备类型 DUAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922664/

相关文章:

java - 如何在改造中删除 json 对象键中的空格?

Android 操作栏后退按钮自定义和调整大小

c++ - 虚拟 HID(人机接口(interface)设备)的代码示例

Android - 连接成功后无法在 onScanResult 回调中找到设备

Java函数在执行之前返回一个值

java - 用于验证媒体播放器的android单元测试

ios - 无法从外设发现蓝牙服务

bluetooth - 智能蓝牙 : GATT Vs. ATT - 它们之间有什么区别?

iOS - CoreBluetooth didDiscoverPeripheral 仅调用一次

android - 如何在 Android 上启用/禁用蓝牙硬件初始化日志记录?