如何在Android中启用高速蓝牙(3.0和4.0)?

如何在Android中启用高速蓝牙(3.0和4.0)?,android,bluetooth,Android,Bluetooth,所以我在两部蓝牙4.0安卓手机上安装了一个BT客户端和一个服务器应用程序。服务器通过等待连接 BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(SDP_NAME, UUID.fromString(SDP_UUID)); 客户端通过 socket = device.createRfcommSocketToServiceRecord(UUID.fromString(SD

所以我在两部蓝牙4.0安卓手机上安装了一个BT客户端和一个服务器应用程序。服务器通过等待连接

BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(SDP_NAME, UUID.fromString(SDP_UUID));
客户端通过

socket = device.createRfcommSocketToServiceRecord(UUID.fromString(SDP_UUID));
然后,使用AsyncTask,以无止境的循环方式将数据从客户端发送到服务器

byte[] buffer = new byte[4096];
outputStream.write(buffer);

我计算了速度,只得到了大约230KByte/s,这正是蓝牙EDR提供的2,1 MBit/s。如何通过蓝牙HS(24 MBit/s)发送数据?

BT 3.0+HS是一种通过实际使用Wifi物理层实现高速率的方案。因此,只有当你有合适的BT/Wifi组合芯片支持它时,它才会起作用,而这并不是很常见。拥有4.0设备并不意味着它可以使用3.0+HS,它只意味着它可以使用BT低能耗,即低数据速率。

我知道谷歌没有开放驱动4.0芯片内置功能所需的API。由于该功能可在笔记本电脑和各种Windows操作系统上运行,因此移动Windows操作系统可能更接近或能够使用软件补丁进行操作。我认为谷歌的首要任务是在HS之前解决电池电量不足的问题


此外,我认为无线运营商并不热衷于免费提供高速连接,这扼杀了软件开发工作

好的,我认为3.0+HS被包括在其中,就像EDR被包括在3.0中一样。我想我还没有见过4.0 EDR或4.0+HS标签。不过,我还是用三星Galaxy S3进行了测试,这是一款蓝牙高速手机。那么我如何使用Galaxy S3的BT 4.0+HS呢?事实上,拥有BT 4.0并不意味着你自动拥有BLE,因为它是可选功能。而且大多数随机“4.0”设备不支持BLE。他们也不支持我们认为的HS。这意味着相当多的“4.0”和“3.0”设备处于BT 2.1的水平。实际上,在2.0的级别上,因为相当多的设备不支持安全简单配对(并且SSP要求不拥有您的设备和数据)。欢迎来到精彩的技术营销世界。“只有当你有合适的BT/Wifi组合芯片支持它时,它才会起作用”——事实上,我以前也这么认为。但我突然想到:为什么会是这样?标准上说的是BT HS使用WiFi协议。BT和WiFi无线电已经基本相同,只需将DSSS调制添加到BT芯片,并使用WiFi报头格式化数据包。这就是它真正应该如何工作的,没有任何其他现实会发生。@pfalcon、BT和WiFi只是在非常粗略的层面上“大体相同”。产品中的Real BT/WiFi收音机经过了极其优化,以满足每种产品的要求。主要区别在于WiFi的带宽更宽,并且需要更高的符号速率。最佳接收器架构也不同。这个答案似乎非常相关: