Cada solicitud de conexión se trata como una solicitud de conexión directa + android ble

Estamos escribiendo una aplicación flexible donde queremos tener una conexión persistente con el periférico que queremos conectar. Con el mismo propósito, queremos volver a conectarnos con el periférico siempre que perdamos una conexión existente. Entonces, nuestra aplicación de Android como central solo intenta reconectarse creando un nuevo objeto bluetoothgatt llamando a bluetoothdevice.connectgatt con autoconnect como verdadero.

Pero cada vez que intentamos hacerlo, nuestra reconexión falla con

12-02 21:47:11.865: D/BluetoothGatt(31963): onClientConnectionState() - status=133 clientIf=6 device=******** callback.

porque nuestra solicitud de conexión se trata como una solicitud de conexión directa en nexus 5 lollipop

Aquí están los registros

12-03 11:46:12.804: D/BluetoothGatt(6902): connect() - device: 58:EB:14:3D:2A:38, auto: true
12-03 11:46:12.804: D/BluetoothGatt(6902): registerApp()
12-03 11:46:12.804: D/BluetoothGatt(6902): registerApp() - UUID=b8f9298b-4a95-41be-80d6-22d82c498c5c
12-03 11:46:12.807: D/BtGatt.GattService(31817): registerClient() - UUID=b8f9298b-4a95-41be-80d6-22d82c498c5c
12-03 11:46:12.808: D/BtGatt.GattService(31817): onClientRegistered() - UUID=b8f9298b-4a95-41be-80d6-22d82c498c5c, clientIf=6
12-03 11:46:12.808: D/BluetoothGatt(6902): onClientRegistered() - status=0 clientIf=6
12-03 11:46:12.808: D/BtGatt.GattService(31817): clientConnect() - address=58:EB:14:3D:2A:38, isDirect=true
12-03 11:46:12.809: D/BtGatt.btif(31817): btif_get_device_type: Device [58:eb:14:3d:2a:38] type 2, addr. type 0
12-03 11:46:12.811: D/BLEManager(6902): Trying to create a new connection.

Respuestas a la pregunta(2)

Su respuesta a la pregunta