Skip to Content
HardwareTransportFlutter (nativ)

Flutter: Über Bluetooth verbinden (nativ)

Diese Anleitung baut auf dem Low-Level-Transport-Plugin für die BLE-Ein-/Ausgabeschnittstelle und die Protocol-V1-/V2-Grenzen auf — lesen Sie dies zuerst.

Für Flutter-Apps, die ein JS-Bundle über WebView oder eine JS-Engine laden und überbrücken zu @onekeyfe/hd-common-connect-sdk mithilfe eines Low-Level-Adapters.

Schritt 1. Laufzeit wählen

  • WebView: stabil und breit unterstützt; Bridge-API identisch mit nativen iOS-/Android-Hüllen
  • JS-Engine: z. B. flutter_js, das erstellte JS-Bundle direkt in Dart ausführen

Schritt 2. JS-Bundle erstellen

In den nativen Beispielen im hardware-js-sdk-Repository erstellen (siehe web/-Verzeichnisse) und erzeugen: web_dist/-Assets.

Schritt 3. JS-Bundle laden

Laden Sie die web_dist/-Assets in Flutter (über WebView oder eine JS-Engine).

Schritt 4. Nachrichten-Bridge implementieren

Stellen Sie enumerate/connect/disconnect/send/receive von nativem Code für JS bereit und behalten Sie dieselben Signaturen bei. Leiten Sie unveränderte BLE-Benachrichtigungsblöcke als Hex in eine verbindungsspezifische Warteschlange weiter, aus der receive(uuid) liest. Das SDK übernimmt V1-/V2-Rahmung und Zusammensetzung.

Schritt 5. UI-Ereignisse behandeln

Zeigen Sie native Dialoge für Eingabeanfragen und Anweisungen für Geräteaufforderungen an. Nur Eingabeanfragen erhalten HardwareSDK.uiResponse; behalten Sie ihre Antwortzuordnung bei. Tastenbestätigungen und reine Geräte-PIN-Aufforderungen sind Benachrichtigungen. Siehe UI-Anbindung.

BLE-UUIDs

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

Referenzen

Nach der Anbindung ist die Verwendung der Chain-API identisch mit WebUSB: Geben Sie connectId und (falls erforderlich) deviceId an.

Zuletzt aktualisiert am