浅记安卓蓝牙开发
可实现功能
- 扫描其他蓝牙设备
- 可为配对蓝牙设备查询蓝牙适配器
- 建立 RFCOMM 通道
- 通过服务搜索来连接其他设备
- 与其他设备进行数据传输
- 管理多个连接
BluetoothAdapter
代表本地蓝牙适配器(蓝牙无线电)。BluetoothAdapter是所有蓝牙交互的入口。使用这个你可以发现其他蓝牙设备,查询已配对的设备列表,使用一个已知的MAC地址来实例化一个BluetoothDevice,以及创建一个BluetoothServerSocket来为监听与其他设备的通信。
BluetoothDevice
代表一个远程蓝牙设备,使用这个来请求一个与远程设备的BluetoothSocket连接,或者查询关于设备名称、地址、类和连接状态等设备信息。
BluetoothSocket
代表一个蓝牙socket的接口(和TCP Socket类似)。这是一个连接点,它允许一个应用与其他蓝牙设备通过InputStream和OutputStream交换数据。
BlueToothClass
描述一个蓝牙设备的基本特性和性能。这是一个只读的属性集合,它定义了设备的主要和次要的设备类以及它的服务。但是,它没有描述所有的蓝牙配置和设备支持的服务,它只是暗示了设备的类型。
BlutoothProfile
一个表示蓝牙配置文件的接口。一个Bluetooth profile是一个基于蓝牙的通信无线接口定义。一个例子是Hands-Free profile。
BluetoothHeadset
提供对移动手机使用的蓝牙耳机的支持。它包含了Headset and Hands-Free (v1.5)配置文件。
BluetoothA2dp
定义高品质的音频如何通过蓝牙连接从一个设备传输到另一个设备。”A2DP“是Advanced Audio Distribution Profile的缩写。
BluetoothHealth
表示一个Health Device Profile代理,它控制蓝牙服务。
BluetoothHealthCallback
一个抽象类,你可以使用它来实现BluetoothHealth的回调函数。你必须扩展这个类并实现回调函数方法来接收应用程序的注册状态改变以及蓝牙串口状态的更新。
BluetoothHealthAppConfiguration
表示一个应用程序配置,Bluetooth Health第三方应用程序注册和一个远程Bluetooth Health设备通信。
BluetoothProfile.ServiceListener
一个接口,当BluetoothProfile IPC客户端从服务器上建立连接或断开连接时,它负责通知它们(也就是,运行在特性配置的内部服务)。
示例
首先需要获取 BluetoothAdapter
对于新的API,直接使用 BluetoothAdapter.getDefaultAdapter() 已经过时了,需要使用上下文来获取 BluetoothAdapter
1
val bluetoothAdapter: BluetoothAdapter = (context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager).adapter
- 标题: 浅记安卓蓝牙开发
- 作者: edge_sky
- 创建于 : 2024-06-06 23:06:48
- 更新于 : 2024-07-01 22:50:06
- 链接: https://edgesky.cn/2024/06/06/蓝牙开发/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。