Android 低功耗蓝牙(BLE)开发(2)-- BluetoothAdapter详解

本文详细介绍了Android系统中低功耗蓝牙(BLE)的BluetoothAdapter的各种状态,包括蓝牙开启、关闭、连接和断开等,并讲解了如何进行蓝牙的开启、关闭、扫描和连接操作,是Android BLE开发的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来看一下官方的API文档

接口定义主要有:


主要类有:


下面来对我们使用到的一些类进行说明

BluetoothAdapter类

1.概述
代表本地蓝牙适配器设备,通过该适配器来对蓝牙执行一些基本的任务,如: 初始化设备的搜索, 查询可匹配的设备列表,使用一个已知的Mac地址来初始化一个BluetoothDevice类,创建一个BluetoothServerSocket类以监听其他设备对本机的连接请求

2 常量

(1)STATE(开关状态值)
  • 蓝牙开启:int STATE_ON :指明本地蓝牙适配器模块已经打开。:常量值: 12 (0x0000000c)
  • 蓝牙关闭:int STATE_OFF :指明本地蓝牙适配器模块已经关闭。常量值: 10 (0x0000000a)
  • 蓝牙开启中:int STATE_TURNING_ON:指明本地蓝牙适配器模块正在打开. 然而本地客户在尝试使用这个适配器之前需要为STATE_ON状态而等待。常量值11 (0x0000000b)
  • 蓝牙关闭中:int STATE_TURNING_OFF:指明本地蓝牙适配器模块正在关闭。本地客户端可以立刻尝试友好地断开任意外部连接。常量值: 13 (0x0000000d)
  • 蓝牙连接中:int STATE_CONNECTING:常量值1 (0x00000001)
  • 蓝牙已连接:int STATE_CONNECTED:常量值: 2 (0x00000002)
  • 蓝牙断开中:int STATE_DISCONNECTING:常量值: 3 (0x00000003)
  • 蓝牙已断开: int STATE_DISCONNECTED:常量值: 0 (0x00000000)

(2)SCAN(扫描状态值)
  • 扫描状态:
int SCAN_MODE_CONNECTABLE
指明在本地蓝牙适配器中,查询扫描功能失效,但页面扫描功能有效。因此该设备不能被远程蓝牙设备发现,但如果以前曾经发现过该设备,则远程设备可以对其进行连接。
常量值: 21 (0x00000015)
  • 可见状态:
int SCAN_MODE_CONNECTABLE_DISCOVERABLE
指明在本地蓝牙适配器中,查询扫描功能和页面扫描功能都有效。因此该设备既可以被远程蓝牙设备发现,也可以被其连接。
常量值: 23 (0x00000017)
  • 无功能状态:
int SCAN_MODE_NONE
    指明在本地蓝牙适配器中,查询扫描功能和页面扫描功能都失效因此该设备既不可以被远程蓝牙设备发现,也不可以被其连接。
    常量值: 20 (0x00000014)

(3)ACTION(广播)

接收的广播
  • 开始搜索:
String ACTION_DISCOVERY_STARTED
          广播事件:本地蓝牙适配器已经开始对远程设备的搜寻过程。
它通常会有一个大概需时12秒的查询扫描过程,紧跟着是一个对每个获取到自身蓝牙名称的新设备的页面扫描。用户会发现一个把ACTION_FOUND常量通知为远程蓝牙设备的注册。
设备查找是一个重量级过程。当查找正在进行的时候,用户不能尝试对新的远程蓝牙设备进行连接,同时存在的连接将获得有限制的带宽以及高等待时间。用户可用cancelDiscovery()类来取消正在执行的查找进程。
       需要 BLUETOOTH权限
常量值"android.bluetooth.adapter.action.DISCOVERY_STARTED"
  • 搜索完成:
String ACTION_DISCOVERY_FINISHED
广播事件:本地蓝牙适配器已经完成设备的搜寻过程。
需要 BLUETOOTH权限
常量值"android.bluetooth.adapter.action.DISCOVERY_FINISHED"
  •  蓝牙名称改变:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值