BluetoothGattServer cancelConnection no cancela la conexión

Tengo la aplicación de Android que expone BLE Server. Me conecto con BluetoothGattServer # connect . Funciona – mi aplicación recibe llamada a BluetoothGattServerCallback # onConnectionStateChange con STATE_CONNECTED . Cuando termino con el cliente intento desconectarme de mi aplicación con BluetoothGattServer # cancelConnection .

Pero no recibo llamada a BluetoothGattServerCallback # onConnectionStateChange y parece que la conexión sigue activa mientras mi cliente BLE no empieza a anunciarse (lo que hace cuando no hay nada conectado a él).

En logcat sólo veo:

BluetoothGattServer: cancelConnection() - device: XX:XX:XX:XX:XX:XX 

La parte divertida es, mi aplicación recibe llamada a BluetoothGattServerCallback # onConnectionStateChange con STATE_DISCONNECTED tan pronto como apague BT completamente.

Problemas similares en el rastreador de Google: 63461 y 63464 .

Encuentro el mismo problema al llamar el método de la desconexión (). Ninguna desconexión se da en onConnectionStateChange en mi BluetoothGattCallback.

Ciclismo Bluetooth parece ser la única cosa que funciona.

Editar: también, después de desconectar () y close () método se llaman, todavía estoy conectado de acuerdo con este código:

 public int getConnectedBLEDevices() { int i = 0; List<BluetoothDevice> devices = mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT); for(BluetoothDevice device : devices) { if(device.getType() == BluetoothDevice.DEVICE_TYPE_LE) { Logs.writeEvent(TAG+".getConnectedBLEDevices()", device.getAddress() + "\n"+ getStateAsString(mBluetoothManager.getConnectionState(device, BluetoothProfile.GATT))); i++; } } return i; } 
  • StartLeScan con 128 UUIDs de bits no funciona en la implementación BLE de Android nativa
  • ¿Tiene la naturaleza nativa de sincronización BLE GATT de implementación de Android?
  • ¿Por qué setCharactersticNotification () no habilita realmente las notificaciones?
  • Android BLE API: GATT Notificación no recibida
  • Bluetooth Bluetooth de bajo consumo de energía
  • Desactivar con fuerza el dispositivo BLE conectado a la aplicación de Android activa onConnectionStateChange con el estado 8
  • BluetoothGatt: la negociación de nuevos MTU tiene éxito pero el nuevo tamaño no se puede utilizar (diferencia de 3 bytes)
  • BluetoothGatt que muestra 10.000 características idénticas para el servicio
  • Lectura de múltiples características de un dispositivo BLE de forma sincrónica (método recomendado para Android)
  • Android, ¿Cómo puedo hacer que el dispositivo BLE esté conectado a un dispositivo (vinculado)
  • Samsung ble api no puede recibir notificación de múltiples características del GATT
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.