BLE之CentralManager类介绍

概述

CBCentralManager对象是被用来管理central发现以及管理远端设备(用CBperipheral创建的对象)的。包括寻找、发现、以及连接peripheral。

在使用CBCentralManager方法之前需要使用CBCentralManagerStatePoweredOn常亮来判断central设备当前的状态,指明当前的central设备是不是支持BLE以及是否处于蓝牙打开、可利用状态。

任务

初始化central管理器

-initWithDelegate:queue:初始化central管理器以及指定他的代理方法和运行队列。

-initWithDelegate:queue:options:初始化central管理器以及指定他的代理方法和运行队列、以及初始化选项。

建立或者取消与peripheral的连接

-connectPeripheral:options:与一个本地的peripheral建立连接。

-cancelPeripheralConnection:取消一个与peripheral正在运行或者挂起的连接。

检索一系列的peripheral设备

-retrieveConnectedPeripheralWithService:返回当前系统连接的一系列的有特定Services的peripheral。

-retrivePeripheralsWithIdentifiers:返回一系列的标识符已知的peripherals。

-retriveConnectedPeripherals:检索出一系列当前与系统连接的peripherals,但是在IOS 7以后用retrieveConnectedPeripheralWithService方法取代。

-retrievePeripherals:检索出UUID已知的peripherals,但是在IOS 7之后被-retrivePeripheralsWithIdentifiers方法取代。

开始或者停止找peripherals

-scanForPeripheralsWithServices:options开始找peripheral正在广播的services。

-stopScan:要求Central管理器停止当前找的动作。

监控参数

state:返回当前centrals管理器的状态。当central管理者初始化创建了central对象,那么这个State值默认是CBCentralManagerStateUnknown,当central的状态改变,会回调centralManagerDidUndateState:这个代理方法。而state一些可能的值如下(它们是一些枚举的类型):

CBCentralManagerStateUnknown:当前central管理器的状态未知,马上会有更新。

CBCentralManagerStateResetting:与系统连接的service回随时断开,这个状态也会马上更新。

CBCentralManagerStateUnsuported:当前的平台不支持BLE。

CBCentralManagerStateUnauthorized:当前APP没被授权使用BLE。(自己觉得应该是在Plist文件中没假如BLE的key)。

CBCentralManagerStatePoweredOff:当前设备的蓝牙处于关闭状态。

CBCentralManagerStatePoweredOn:蓝牙已经打开可以使用了。

delegate:你想要接受centrals时间的代理对象。至于关于central管理者代理的具体介绍请看下篇译文《BLE之CBCentralManagerDelegate类介绍》

常亮

central管理器初始化选项

这个keys值被用在initWithDelegate:queue:options方法中。

CBCentralManagerOptionShowPowerAlertKey:这个key值是一个NSnumber类型的对象,默认情况为NO,这个值是用来要求系统当蓝牙处于关闭状态时是否弹出一个警告框给用户,当然前期是central管理器被实例化了。

CBCentralManagerOptionsRestoreIdentifierKey:这个是一个字符串,当central管理器被实例化时分配的UID,这个UID相当重要,而且要相同当central被成功修复时。

寻找Peripheral的选项

这个Keys被用在scanForPeripheralsWithServices:options:方法中。

CBCentralManagerScanOptionAllDuplicatesKey:这也是一个NSNUmber类型的对象,当指定其为YES时,说明过滤功能是不启用的,也就是说central每次都能接受到来自peripherals的广播包数据,这样的话对电池的寿命会有很大的影响。当设定为NO是每次寻找都会合并相同的peripheral。如果这个key值不指定则默认为NO。

CBCentralManagerSCanOptionSolicitedServiceUUIDsKey:想要扫描的服务的UUID,以一个数组的形式存在。也就是说指定这个选项后central便会找指定的服务的UUID。

peripheral连接选项

这个选项值被用在connectPeripheral:options方法中。

CBConnectPeripheralOptionNotifyOnConnectionKey:当成功建立连接之后,这个key值说明在不使用bluetooth-central后台模式的情况下的,APP被挂起时,这时如果APP连接到peripheral时,是否要给APP一个提示框,当然是在APP支持后台运行的前期下。如果又不止一个peripheral设备发出NOtification的话,那么离前台最近的设备会接受到这个提示框,如果这个KEy不指定那么他默认为NO。

CBConnectPeripheralOptionNotifyOnDisconnectionKey:这是一个BOOL值,表明当APP处于挂起状态时,恰好在这个时候断开连接,要不要给APP一个断开提示。这种情况只有指定了该APP指定在后台能够运行时才显示,也是一样当有多个APP同时请求该通知时,只有离得最近的一个才能够显示,如果不设置这个值默认为NO。

CBConnectPeripheralOptionNotifyOnNotificationKey :这个BOOL值说明central在处于挂起状态时,是否接受到所有的来自peripheral的包都要弹出提示框。当然这个key值也是以APP能够在后台运行为前期的。

centralManager类基本上讲完了,要是又不对的地方望大神指点。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android BLE(蓝牙低功耗)工具是用于简化在Android应用中与蓝牙设备进行通信的开发过程的。该工具提供了一系列方法和功能,使得与BLE设备的连接、数据传输和操作变得更加简单和高效。 首先,该工具提供了与BLE设备进行连接和断开连接的方法。通过调用连接方法,我们可以与目标BLE设备建立起稳定的连接,并获取一个用于后续通信的Gatt服务。同时,断开连接方法可以安全地中断与设备之间的通信,释放资源并确保连接关闭。 其次,该工具还包含了搜索BLE设备的功能。我们可以使用这个功能来扫描附近的BLE设备,并获取它们的名称、MAC地址和其他相关信息。这可以帮助我们快速找到需要连接的设备,并进行下一步操作。 在连接建立后,该工具还提供了读取、写入和监听BLE设备特征的方法。我们可以通过读取特征值来获取设备传输的数据,通过写入特征值来向设备发送指令,或者通过监听特征值的变化来实时获取设备的状态更新。这些方法使得与BLE设备的数据交互变得非常方便。 此外,该工具还支持BLE设备的服务发现、特征值读写的状态回调以及连接状态的监听等功能。它提供了丰富的回调接口,使得我们可以根据需求进行相应的处理和操作。 总之,Android BLE工具为开发人员提供了一系列简化蓝牙低功耗通信过程的方法和功能。它的使用可以大大减少开发工作的复杂性和难度,提高开发效率,并帮助我们更好地实现与BLE设备的交互。 ### 回答2: Android BLE工具是一种用于简化与BLE(蓝牙低功耗)设备通信的工具。它提供了一系列便捷的方法和功能,使开发者能够更容易地实现BLE设备的连接、搜索、数据传输等操作。 首先,Android BLE工具可以帮助开发者建立与BLE设备的连接。它封装了与设备的GATT(通用属性)连接过程,使连接操作更加简单和高效。通过调用相应的方法,开发者可以轻松地与设备进行连接,并可以处理连接成功或失败的回调。 其次,该工具还提供了BLE设备搜索的功能。开发者可以使用相应的方法启动BLE设备搜索,并可以设置搜索的时间和过滤条件。搜索结果将以回调方式返回,开发者可以根据搜索结果选择要连接的设备。 此外,该工具还封装了BLE设备的通信接口,使开发者能够方便地发送和接收数据。开发者可以使用相应的方法向设备发送命令或请求,并可以处理设备返回的数据。这些方法包括读取特征值、写入特征值、设置通知等。 最后,该工具还提供了其他一些便捷的功能,如断开设备连接、设置连接超时、监测设备状态等。开发者可以根据自己的需求选择使用这些功能来提高开发效率和用户体验。 总之,Android BLE工具是一种能够简化与BLE设备通信的工具,它提供了连接设备、搜索设备、数据传输等一系列功能,帮助开发者更方便地实现BLE设备的相关操作。 ### 回答3: Android BLE(Bluetooth Low Energy)工具是一种在Android平台上使用的工具,用于简化与蓝牙低功耗设备通信的操作。 Android BLE工具的主要功能包括以下几个方面: 1. 初始化:Android BLE工具提供初始化蓝牙适配器的功能,以及检查设备是否支持BLE功能。 2. 扫描设备:Android BLE工具提供开始和停止扫描BLE设备的方法,并且可以根据设备的UUID或名称过滤扫描结果。 3. 连接设备:Android BLE工具可以连接指定的BLE设备,并提供连接成功、连接失败、断开连接等回调方法,方便开发者处理连接状态。 4. 发现服务和特征值:Android BLE工具支持发现BLE设备的服务和特征值,通过服务和特征值,开发者可以读取、写入及监听BLE设备的数据。 5. 数据操作:Android BLE工具可以进行BLE设备的数据读取、写入及监听操作,开发者可以根据实际需求进行相应的数据处理。 6. 错误处理:Android BLE工具提供BLE操作过程中可能发生的错误处理方法,开发者可以根据错误码进行相应的处理,以增强应用的稳定性。 总的来说,Android BLE工具简化了与BLE设备的通信操作,提供了易于使用的API接口,方便开发者快速开发与蓝牙低功耗设备的交互功能。但是对于复杂的BLE设备通信需求,可能需要根据实际情况自行进行定制和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值