一起Talk Android吧(第二百九十一回:Android中的BLE开发:获取服务二)

Posted talk_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第二百九十一回:Android中的BLE开发:获取服务二)相关的知识,希望对你有一定的参考价值。

看官们,我们在上一章回中介绍了BLE开发的蓝牙连接设备,本章回中我们将介绍BLE开发中获取服务的例子,闲话休提,言归正转。让我们一起Talk android吧!

看官们,上一章回中介绍了获取服务第一个步骤:查找服务,本章回中将介绍第二个步骤:获取服务

执行查找服务后,如果查找到了服务那么就会回调onServicesDiscovered()方法,该方法是BluetoothGattCallback的回调方法,实现回调方法的典型示例如下:

mBluetoothGattCallback = new BluetoothGattCallback() {             
    @Override
    public void onServicesDiscovered(BluetoothGatt gatt, int status) {
        super.onServicesDiscovered(gatt, status);
        if(status == BluetoothGatt.GATT_SUCCESS) {
            mGattServices = (ArrayList<BluetoothGattService>) gatt.getServices();
        } else {
            mGatt.close();
        }
    }
}

在上面的代码中mGattServices用来存放获取到的服务,这里存放了所有的服务,我们需要这些服务中获取我们需要的服务,具体操作如下:

for (BluetoothGattService service: mGattServices) {
    if (service.getUuid().toString().equalsIgnoreCase(serviceUUIDString)) {
        mResultService = service;
    }
}

在上面的代码中我们通过循环遍历了所有的服务,如果某个服务的UUID与我们提供的UUID(保存在serviceUUIDString中)一致,那么这个服务就是我们程序中需要的服务。

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

以上是关于一起Talk Android吧(第二百九十一回:Android中的BLE开发:获取服务二)的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第三百九十一回:修改BottomNavigationView中的图标和文字颜色)

一起Talk Android吧(第二百九十九回:Java中的Timer)

一起Talk Android吧(第二百九十回:Android中的BLE开发:获取服务一)

一起Talk Android吧(第二百九十七回:Android中的BLE开发:断开设备连接)

一起Talk Android吧(第二百九十八回:Android中的BLE开发:大结局)

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