私は次のことを達成しようとしています:
- BluetoothLeScan のスキャン結果からデバイスを選択します。
- BluetoothGatt.connect() を使用してこのデバイスに接続しようとしています
- 接続が確立されたら、接続されたデバイスでも createBond を試みます。
- この結合プロセスが開始されたら、プログラムでピンを交換します。
- このピンが周辺機器と交換されたら、PairingConfirmation(true) を設定してピン入力ダイアログを閉じます。
問題- これは常に機能するとは限りません。ピンは常に正常に交換されるとは限りません。ピンは Bluetooth スタックに正常に書き込まれますが、周辺機器が受け取るピンは同じではありません。Samsung などの一部のメーカーでは、この問題の再現性は低くなりますが、iBall などの他のメーカーでは、これは 100% 再現可能です。
提案してください