Skip to Content
HardwareTransporteFlutter (nativo)

Flutter: Conectar mediante Bluetooth (nativo)

Esta guía se basa en el Plugin de transporte de bajo nivel para la interfaz de E/S BLE y los límites de Protocol V1/V2; léelo primero.

Para aplicaciones Flutter que cargan un bundle JS en una WebView o motor JS y lo conectan a @onekeyfe/hd-common-connect-sdk mediante un adaptador de bajo nivel.

Paso 1. Elegir el entorno de ejecución

  • WebView: estable y ampliamente compatible; API de conexión idéntica a las envolturas nativas iOS/Android
  • Motor JS: por ejemplo, flutter_js, ejecuta el bundle JS compilado directamente en Dart

Paso 2. Compilar el bundle JS

Compila en los ejemplos nativos del repositorio hardware-js-sdk (consulta los directorios web/) y genera recursos web_dist/ correspondientes.

Paso 3. Cargar el bundle JS

Carga los recursos web_dist/ en Flutter (mediante WebView o un motor JS).

Paso 4. Implementar la conexión de mensajes

Expón enumerate/connect/disconnect/send/receive desde el código nativo a JS conservando las mismas firmas. Envía los bloques de notificaciones BLE sin modificar, como hexadecimal, a una cola por conexión que consume receive(uuid). El SDK gestiona el formato de tramas y el reensamblado de V1/V2.

Paso 5. Gestionar eventos de interfaz

Muestra diálogos nativos para solicitudes de entrada e instrucciones para avisos en el dispositivo. Solo las solicitudes de entrada reciben HardwareSDK.uiResponse; conserva su correlación de respuesta. Las confirmaciones de botones y los avisos de PIN exclusivo del dispositivo son notificaciones. Consulta conexión de la interfaz.

UUID de BLE

  • serviceUuid = 00000001-0000-1000-8000-00805f9b34fb
  • writeCharacteristic = 00000002-0000-1000-8000-00805f9b34fb
  • notifyCharacteristic = 00000003-0000-1000-8000-00805f9b34fb

Referencias

Tras conectarlo, el uso de la API de cadena es idéntico al de WebUSB: proporciona connectId y, cuando sea necesario, deviceId.

Última actualización el