蓝牙是一种支持设备短距离通讯的无线电技术(一般是10米)。
Android 平台的蓝牙系统是基于 BlueZ 实现的,是通过 Linux 中一套完整的蓝牙协议栈开源实现的。
蓝牙模块的基本层次结构如图:
Android 平台中蓝牙系统从上到下主要包括 Java 框架中得 Bluetooth 类、Android 适配库、BlueZ库、驱动程序和协议。如图:
具体如下:
(1)Java 框架层。
蓝牙部分对应于应用程序的API。 位置:frameworks/base/core/java/android/bluetooth
蓝牙服务部分。 位置:frameworks/base/core/java/android/server
(2)蓝牙适配库。
路径:system/bluetooth/
该层用于生成库 libluedroid.so 及相关工具和库,能够实现对蓝牙设备的管理,如电源管理等。
(3)JNI 部分。
路径:frameworks/base/core/jni
(4)BlueZ库。
路径:external/bluez
蓝牙开发的主要相关类
BluetoothSocket:
BluetoothServerSocket:
BluetoothAdapter:代表本地蓝牙适配器,执行蓝牙任务。
BluetoothClass.Service:服务类常量。
BluetoothClass.Device:设备相关信息。