tutorial studio programacion por móviles dispositivos desarrollo curso connectedthread conexion conectar con buscar aplicaciones android cordova bluetooth

studio - manual de programacion android pdf



¿La solicitud de desconexión de baja energía de Bluetooth de Android no se envió? (0)

Estamos intentando desconectarnos de un periférico, pero al usar un sniffer Bluetooth, no vemos un paquete LL_TERMINATE_IND . En su lugar, el teléfono parece seguir enviando Empty PDU al periférico durante unos 20 segundos más.

Estamos utilizando el siguiente complemento Cordova BLE: https://github.com/don/cordova-plugin-ble-central

El método de desconexión está aquí: https://github.com/don/cordova-plugin-ble-central#/L74

También hemos intentado agregar un gatt.disconnect() explícito antes de gatt.close() como se muestra a continuación, pero no pareció haber ninguna diferencia:

public void disconnect() { connectCallback = null; connected = false; if (gatt != null) { gatt.disconnect(); gatt.close(); gatt = null; } }

Aquí está el registro adb relevante. Hay un error en el registro de adb "Contexto no encontrado" que podría estar relacionado? Aunque parece estar justo después de desconectado ().

04-15 16:25:34.931 24199 24199 I chromium: [INFO:CONSOLE(79263)] "ble:store > Handle dispatch DOOR_DISCONNECT", source: file:///android_asset/www/js/bundle.js (79263) 04-15 16:25:34.931 24199 24199 I chromium: [INFO:CONSOLE(79263)] "ble:connecting > § 20", source: file:///android_asset/www/js/bundle.js (79263) 04-15 16:25:34.932 24199 24274 D BluetoothGatt: close() 04-15 16:25:34.932 24199 24274 D BluetoothGatt: unregisterApp() - mClientIf=5 04-15 16:25:34.933 1886 9721 D BtGatt.GattService: unregisterClient() - clientIf=5 04-15 16:25:34.934 1886 2019 W bt_btif : bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0016 04-15 16:25:34.934 1886 2019 W bt_btif : bta_gattc_conn_cback() - cif=4 connected=0 conn_id=4 reason=0x0016 04-15 16:25:34.934 1886 2019 W bt_btif : bta_gattc_conn_cback() - cif=5 connected=0 conn_id=5 reason=0x0016 04-15 16:25:34.944 1886 1924 D BtGatt.GattService: onDisconnected() - clientIf=5, connId=5, address=00:A0:00:00:00:14 04-15 16:25:34.944 1886 1924 E BtGatt.ContextMap: Context not found for ID 5 04-15 16:25:34.948 24199 24199 I chromium: [INFO:CONSOLE(79270)] "ble:connecting > _disconnectFromDoor success", source: file:///android_asset/www/js/bundle.js (79270) 04-15 16:25:34.952 24199 24199 I chromium: [INFO:CONSOLE(79263)] "ble:store > Handle dispatch DOOR_DISCONNECT_SUCCESS", source: file:///android_asset/www/js/bundle.js (79263)

Y aquí está lo que parece la inhalación de bluetooth (con mucho más de lo mismo):

Existe la posibilidad de que el periférico se haya dormido en este punto (lo está haciendo para la vida útil de la batería). Eso tendría sentido para mí por qué el teléfono sigue enviando Empty PDU , pero ¿no deberíamos seguir viendo la solicitud de desconexión en las ondas?