一、概述
我们就知道了怎样使用蓝牙API完成建立蓝牙连接的必要四步:1.打开蓝牙;2.查找附近已配对或可用的设备;3.连接设备;4.设备间数据交换。由于文章比较长,为了方便大家的学习,所以将文章分为三篇,这是第一篇。
二、基础
1、API
所有的蓝牙API都在android.bluetooth 包下.下面有一些类和接口的摘要,我们需要它们来建立蓝牙连接:
BluetoothAdapter
代表本地蓝牙适配器(蓝牙无线)。BluetoothAdapter是所有蓝牙交互的入口。使用这个类,你能够发现其他的蓝牙设备,查询已配对设备的列表,使用已知的MAC地址来实例化一个BluetoothDevice对象,并且创建一个BluetoothServerSocket对象来监听与其他设备的通信。
BluetoothDevice
代表一个远程的蓝牙设备。使用这个类通过BluetoothSocket或查询诸如名称、地址、类和配对状态等设备信息来请求跟远程设备的连接。
BluetoothSocket
代表蓝牙socket的接口(类似TCP的Socket)。这是允许一个应用程序跟另一个蓝牙设备通过输入流和输出流进行数据交换的连接点
BluetoothServerSocket
代表一个打开的监听传入请求的服务接口(类似于TCP的ServerSocket)。为了连接两个Android设备,一个设备必须用这个类打开一个服务接口。当远程蓝牙设备请求跟本设备建立连接请求时,BluetoothServerSocket会在连接被接收时返回一个被连接的BluetoothSocket对象。
BluetoothClass
描述了蓝牙设备的一般性特征和功能。这个类是一个只读的属性集,这些属性定义了设备的主要和次要设备类和服务。但是,这个类并不保证描述了设备所支持的所有的蓝牙配置和服务,但是这种对设备类型的提示是有益的
BluetoothProfile
代表一个蓝牙配置的接口。蓝牙配置是基于蓝牙通信的设备间的无线接口规范。一个例子是免提的配置。更多的配置讨论,请看下文的用配置来工作。
BluetoothHeadset
提供对使用蓝牙耳机的移动电话的支持。它同时包含了Bluetooth Headset和Hands-Free(v1.5)的配置。
BluetoothA2dp
定义如何把高品质的音频通过蓝牙连接从一个设备流向另一个设备。“A2DP”是Advanced Audio Distribution Profile的缩写。
BluetoothHealth
代表一个健康保健设备配置的控制蓝牙服务的代理。
BluetoothHealthCallback
用于实现BluetoothHealth回调的抽象类。你必须继承这个类,并实现它的回调方法,来接收应用程序的注册状态和蓝牙通道状态变化的更新。
BluetoothHealthAppConfiguration
代表蓝牙相关的第三方健康保健应用程序所注册的与远程蓝牙健康保健设备进行通信的配置。
BluetoothProfile.ServiceListener
BluetoothProfile IPC客户端连接或断开服务的通知接口(它是运行特俗配置的内部服务)。
2.权限