看官们,我们在上一章回中介绍了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开发获取服务的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!