0

私はこれで知恵を絞った。

A&D 体重計 (UC-321PBT) を接続しようとしている典型的な BluetoothServerSocket があります。彼らの会社にはアプリ (myFitnessCompanion) があり、接続の問題はあまりないようですが、電話が「検出可能」である場合にのみ体重計がアプリに接続されます。これは体重計とペアになった後です。

ここで本当に必要な唯一の重要なコードは、リスナーがどのように開いているかです。それを超えて、それは典型的な Bluetooth です

serverSocket = adapter.listenUsingRfcommWithServiceRecord("PWAccessP", UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));

(私は listenUsingInsecureRfcommWithServiceRecord とポートを開くためのリフレクションも試しました)

私は自分の携帯電話の Bluetooth を別の携帯電話から調べて、myFitnessCompanion アプリケーションで使用される「PWAccessP」値を取得し、さらにアプリを使用して体重計を携帯電話とペアリングしました。

電話を検出可能にすると、ソケットリスナーにスケールが入りますが、それ以外に、BluetoothDeviceが意図「BluetoothDevice.ACTION_ACL_CONNECTED」を監視する低レベルの接続を開始するのがわかりますが、電話を検出可能なモードにしない限り、それはサーバーソケットの「accept()」メソッドをトリガーしません。新しい接続では、ペアリング画面は表示されません。

どんな助けでも大歓迎です。アプリで接続を行うには電話を「検出可能」にする必要があることと、ペアリング後にいつでも接続を許可する myFitnessCompanion を使用する必要があることを考えると、myFitnessCompanion がこれをどのように回避しているかわかりません。

前もって感謝します。

4

1 に答える 1