1 前言
2009年4月21日,蓝牙技术联盟(Bluetooth SIG)正式颁布了新一代标准规范"Bluetooth Core Specification Version 3.0 High Speed"(蓝牙核心规范3.0版 高速),蓝牙3.0的核心是"Generic Alternate MAC/PHY"(AMP),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。
蓝牙3.0的数据传输率提升到24Mbps,相比于已经淡出市场的蓝牙2.0大大提升了传输速率。在上一篇文章安卓蓝牙开发之——搜索蓝牙设备中已经实现了蓝牙的搜索过程,本文将主要介绍蓝牙3.0的连接过程。
2 蓝牙Socket通信
安卓系统对于蓝牙3.0的通信封装成Socket通信方式,既然采用socket通信就有服务端和客户端之分。在安卓蓝牙开发中将手机端作为服务端,将周边设备作为客户端。
3 服务端线程
Socket通信中服务端负责启动监听,等待客户端的连接。首先创建服务端线程ServerThread。核心代码如下:
// 服务端线程
private class ServerThread extends Thread {
public void run() {
try {
// 创建一个蓝牙服务器 参数分别:服务器名称、UUID
mserverSocket = mBluetoothAdapter
.listenUsingRfcommWithServiceRecord(
"btspp",
UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"