10.2 蓝牙

蓝牙(Bluetooth)是支持设备间短距离通信的无线技术。相比其他设备间的通信技术,蓝牙的传输速度较快(约为700Kbit/s),有效距离较长(约10米),并广泛地支持各种设备,因而,是目前进行设备间短距离数据传输的最佳解决方案之一。

在移动设备上,通过蓝牙进行数据传输的应用十分广泛:既可以在不同设备间共享音乐、视频等文件,也可以连接蓝牙耳机、蓝牙键盘等无线外设。

Android中提供了蓝牙相关的类库支持,以帮助开发者更方便地使用蓝牙进行数据传输,实现设备间的互联互通。

10.2.1 Android的蓝牙实现

Android的蓝牙框架如图10-1所示。蓝牙功能的实现,需要底层设备和驱动的支持。Android提供了蓝牙相关的头文件,厂商按照头文件的约束实现相关接口,便可提供最基础的蓝牙传输支持。

在框架层蓝牙协议的实现上,Android再次站在了巨人的肩膀上,它基于开源项目BlueZ[1]来实现蓝牙通信协议。此外,Android在框架层提供了android.bluetooth包,通过JNI接口调用底层的功能实现,以帮助开发者实现蓝牙开发。

在应用层,Android提供了蓝牙设置的界面组件,开发者可以调用该组件,让用户调整蓝牙相关的设置,比如开启蓝牙、寻找配对设备等。


startActivity(new Intent(

android.provider.Settings.ACTION_BLUETOOTH_SETTINGS));


10.2 蓝牙 - 图1

图 10-1 Android蓝牙支持框架

[1]关于BlueZ的更多详情,可以访问:http://www.bluez.org/。