标签:
英文原地址为: http://www.androidcommunitydocs.com/guide/topics/connectivity/bluetooth.html
安卓平台包含了对蓝牙协议栈的支持,这允许一个设备与另一个设备进行无线的数据交换。应用程序框架层(Android系统架构四层之一,由上到下分别为应用程序层、应用程序框架层、系统运行库层、Linux内核层)支持通过蓝牙API来使用蓝牙的功能。这些API实现点对和和多点式的无线功能,允许设备无线连接到其他的设备。
使用蓝牙API,应用程序可以实现一下功能
基础:
这份文档描述了如何运用安卓的蓝牙API去完成蓝牙通信的四个主要的步骤,包括蓝牙设置、查找配对过的或者区域内可用的蓝牙设备、连接设备和设备之间的数据传输。
所有的这些API都在android.bluetooth包内,下面是当创建蓝牙连接时需要用到的类的概述:
BluetoothAdapter: 代表了本地蓝牙适配器。BluetoothAdapter是所有蓝牙交互的入口。使用这个,你可以发现其他的蓝牙设备,获得配对过的设备列表,通过已知的MAC地址实例化BluetoothDevice对象,以及创建一个BluetoothServerSocket对象来监听与其他设备的通信。
BluetoothDevice: 代表了一个远程设备。使用这个,你可以通过BluetoothSocket来请求与远程设备的连接,或者询问关于设备的信息,例如设备名、地址、类名、配对状态。
BluetoothSocket: 代表了蓝牙socket的接口(类似TCP socket)。这是允许应用程序通过InputStream和 OutputStream与另一个蓝牙设备交换数据的连接点。
BluetoothServerSocket: 代表了一个为了监听到来的请求而开启的服务端socket(类似TCP ServerSocket)。两个设备之间的连接,必须要一个设备开启服务端socket(BluetoothServerSocket)。当一个远程蓝牙设备向这个设备发起连接请求时,如果连接被接受的话,BluetoothServerSocket会返回一个连接的BluetoothSocket。
BluetoothClass: 描述了一个蓝牙设备的基本特征和功能。这是一个只可读的属性集,定义了设备的主要和次要类以及它的服务。然而,它并没有描述所有的蓝牙设置和设备支持的服务,但可以作为设备类型的判断。
BluetoothProfile: 表示蓝牙配置的接口。一个蓝牙配置是一个基于蓝牙的设备通信的无线接口说明。免提配置就是其中一个例子。
BluetoothHeadset: 提供了对手机蓝牙耳机的支持。这包括蓝牙耳机和免提协议。
BluetoothA2dp: 定义了如何通过蓝牙连接传输高质量音频流到另一个设备。A2DP是Advanced Audio Distribution Profile的简称。
BluetoothHealth: 代表了一个为医疗设备提供蓝牙服务控制的代理类。
BluetoothHealthCallback: 这是一个用来实现BluetoothHealth回调的抽象类。必须要继承该类并且实现回调方法才能接收应用程序的注册状态和蓝牙通道状态。
BlueHealthAppConfiguration: 表示第三方应用注册的应用程序配置,为了与远程蓝牙医疗设备通信。
BluetoothProfile.ServiceListener: 当蓝牙IPC客户端与服务端断开/连接时,负责通知客户端的接口。
蓝牙权限:
到这里为止,就不翻译了,因为发现这些API早已经有人翻译好,所以就不重复翻译了,下面是中文的关于蓝牙的介绍:
http://wikidroid.sinaapp.com/index.php?title=%E8%93%9D%E7%89%99&diff=1356&oldid=1249
标签:
原文地址:http://www.cnblogs.com/xiabi/p/4460666.html