一起Talk Android吧(第二百九十三回:Android中的BLE开发:注册特征值通知二)

看官们,我们在上一章回中介绍了BLE开发中注册特征值通知的例子,本章回中我们将继续介绍该例子,闲话休提,言归正转。让我们一起Talk Android吧!

本章回中我们重点介绍下如何使用setCharacteristicNotification()方法注册特征值通知。该方法有两个参数:

  • 第一个是参数是特征值(BluetoothGattCharacteristic类的对象),用来确认监听哪个特征值的通知;
  • 第二个参数是布尔类型变量,用来确是否监听通知;

我们在上一章回中提到过:一个服务器上包含多个服务,一个服务中包含多个特征值。因此需要使用服务和特征值各自的UUID,这样才能获取到与所提供的UUID匹配的服务及其特征值。获取到特征值后就可以给setCharacteristicNotification()当作参数使用。原理说清楚了,下面是具体的操作:

  • 首先是在获取到的服务中找到与UUID匹配的服务;
//mGattServices中存放着我们从GATT服务器上获取到的所有服务,
//遍历所有服务找到与UUID(代码中的serviceUUID)匹配的服务:mService
for (BluetoothGattService service: mGattServices) {
    if (service.getUuid().toString().equalsIgnoreCase(serviceUUID)) {
        mService = service;
    }
}
  • 其次通过该服务的getCharacteristics()方法获取该方法中所有的特征值;
  • 最后在这些特征值中找到与提供的UUID相匹配的特征值;
//把这两个步骤的涉及到的代码合到了一起,mService就是上一步骤中获取到的服务;
//获取服务中所有的特征值,然后遍历所有的特征值并且找到与UUID
//(代码中的characteristicUUID)匹配的特征值:mCharacteristic
for (BluetoothGattCharacteristic characteristic: mService.getCharacteristics()) {
    if (characteristic.getUuid().toString().equalsIgnoreCase(characteristicUUID)) {
        mCharacteristic = characteristic;
    }
}

各位看官,关于Android中BLE开发注册特征值的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值