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).
- Cambio de tiempo de gatt de bajo consumo de energía de bluetooth o descarga de flujo de lectura para detectar el evento de desconexión más rápido
- Android BLE BluetoothGatt objeto permanece conectado y desencadena onCharacteristicChanged () incluso después de una llamada a desconectar ()
- Android: perfil de baja energía del GATT de Bluetooth
- BLE GATT onCharacteristicChanged no se llama después de suscribirse a la notificación
- Android - No se pudo conectar al dispositivo bluetooth en Lollipop
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 .
- BluetoothDevice.ConnectGatt () con el parámetro de transporte
- ¿Cómo mejorar el rendimiento de GATT de baja energía de Bluetooth de Android?
- ¿Cómo enviar datos a través de un enlace Bluetooth Low Energy (BLE)?
- Android Cómo leer las propiedades de BLE Readable Writable Notifiable GATT Características
- La devolución de llamada de Gatt de BLuetooth no funciona con la nueva API de Lollipop
- BLE con Android 5.0: ¿Cómo conseguir que un dispositivo actúe como Central AND Server?
- Android BLE 4.3 onDescriptorWrite devuelve el estado 128 al habilitar la notificación de características
- Notificación de baja energía del bluetooth
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; }
- Invocar el modo de perfil de teléfono de Android en un momento específico
- Crear una línea curva en forma de "L" con datos dinámicos