private void displayGattServices(List<BluetoothGattService> gattServices) { if (gattServices == null || gattServices.isEmpty()) { LogTool.e(TAG, "No Gatt Services Found!"); return; } for (BluetoothGattService gattService : gattServices) { List<BluetoothGattCharacteristic> gattCharacteristics = gattService.getCharacteristics(); LogTool.d( TAG, "Service UUID = 【" + gattService.getUuid() + "】, Characteristics Size = 【" + (gattCharacteristics == null ? 0 : gattCharacteristics.size()) + "】"); if (gattCharacteristics != null) { for (BluetoothGattCharacteristic gattCharacteristic : gattCharacteristics) { LogTool.i(TAG, " Characteristic UUID = 【" + gattCharacteristic.getUuid() + "】"); } } } }
@Override public void onServicesDiscovered(BluetoothGatt gatt, int status) { super.onServicesDiscovered(gatt, status); LogTool.d(TAG, "on services discovered success ? " + (status == BluetoothGatt.GATT_SUCCESS)); if (status == BluetoothGatt.GATT_SUCCESS) { displayGattServices(gatt.getServices()); if (gatt.getServices() == null || gatt.getServices().isEmpty()) { LogTool.e(TAG, "No gatt service found!"); onServicesDiscoveredFailed(gatt); return; } if (!checkCloudWatchServiceSupported(gatt)) { LogTool.e(TAG, "Clouder watch services does not support!"); onServicesDiscoveredFailed(gatt); gatt.disconnect(); return; } onServicesDiscoveredSuccess(gatt); } else { LogTool.e(TAG, "Can not found gatt services!"); onServicesDiscoveredFailed(gatt); } }