Skip to Content

Flutter: Bluetooth で接続 (ネイティブ)

このガイドは低レベルトランスポートプラグインに基づきます。BLE I/O インターフェースと Protocol V1/V2 の境界について、先に読んでください。

WebView または JS エンジンで JS バンドルを読み込み、低レベルアダプターを使って @onekeyfe/hd-common-connect-sdk を橋渡しする Flutter アプリ向けです。

手順 1. 実行環境を選択

  • WebView: 安定して広く対応。ブリッジ API は iOS/Android ネイティブシェルと同じ
  • JS エンジン: 例: flutter_js, ビルドした JS バンドルを Dart 内で直接実行

手順 2. JS バンドルをビルド

hardware-js-sdk リポジトリ内のネイティブの例でビルドします (参照: web/ ディレクトリ)。次の web_dist/ アセットを生成します。

手順 3. JS バンドルを読み込む

Flutter で web_dist/ のアセットを読み込みます (WebView または JS エンジン経由)。

手順 4. メッセージングブリッジを実装

enumerate/connect/disconnect/send/receive を、ネイティブから JS に同じシグネチャで公開します。変更していない BLE 通知チャンクを 16 進数で、receive(uuid) が読み取る接続別キューに転送します。SDK が V1/V2 のフレーミングと再構成を処理します。

手順 5. UI イベントを処理

入力要求にはネイティブダイアログ、デバイス上のプロンプトには操作案内を表示します。次は入力要求にのみ返します: HardwareSDK.uiResponse; 応答の関連付け情報を保持してください。ボタン確認とデバイス専用の PIN プロンプトは通知です。参照: UI の接続.

BLE の UUID

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

参考資料

接続後のチェーン API の使い方は WebUSB と同じです。connectId と (必要な場合は) deviceId を指定します。

最終更新日