android包含了对蓝牙网络协议栈的支持,这使得蓝牙设备能够无线连接其他蓝牙设备交换数据。Android的应用程序框架提供了访问蓝牙功能的API,这些API让应用程序能够无线连接其他蓝牙设备,实现点对点或点对多的无线交互功能。
使用蓝牙API,一个android应用程序能够实现下列功能:
1.扫描其他蓝牙设备
2.查询本地蓝牙适配器(local Bluetooth Adapter)用于配对蓝牙设备
3.建立RFCOMM信道
4.通过服务发现(service discovery)连接其他设备
5.管理多个连接
蓝牙层次结构
android平台的蓝牙系统是基于BlueZ实现的,是通过Linux中一套完整的蓝牙协议栈开源实现的。
蓝牙技术实际上是一种短距离无线电技术,Android系统中的蓝牙除了使用kernel支持外,还需要用户空间的BlueZ的支持。
android 平台中蓝牙系统的基本层次结构如图10-1所示:
图10-1
android平台中蓝牙系统从上到下主要包括Java框架中的BlueToot类,Android适配库,BlueZ库,驱动程序和协议,这几部分的系统结如图10-2所示
BlueZ库对蓝牙来说非常重要,它提供了对用户空间蓝牙的支持,在里面包含了主机控制协议HCI以及其他众多内核实现协议的接口,并且实现了所有蓝牙应用模式Profile.
以上内容参照《Android 网络开发技术实战详解》 电子工业出版社